piral-blazor 1.3.0-beta.5959 → 1.3.0-beta.6001
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 +1 -1
- package/esm/create.js +2 -2
- package/esm/create.js.map +1 -1
- package/esm/dependencies.d.ts +1 -1
- package/esm/dependencies.js +33 -5
- package/esm/dependencies.js.map +1 -1
- package/esm/interop.d.ts +1 -1
- package/esm/types.d.ts +2 -1
- package/lib/create.js +2 -2
- package/lib/create.js.map +1 -1
- package/lib/dependencies.d.ts +1 -1
- package/lib/dependencies.js +33 -5
- package/lib/dependencies.js.map +1 -1
- package/lib/interop.d.ts +1 -1
- package/lib/types.d.ts +2 -1
- package/package.json +3 -3
- package/src/create.ts +2 -2
- package/src/dependencies.ts +41 -5
- package/src/interop.ts +1 -1
- package/src/types.ts +2 -0
package/convert.d.ts
CHANGED
|
@@ -12,5 +12,5 @@ export interface BlazorConverter {
|
|
|
12
12
|
}
|
|
13
13
|
export declare function defineBlazorOptions(options: BlazorOptions): void;
|
|
14
14
|
export declare const fromBlazor: BlazorConverter;
|
|
15
|
-
export declare const defineBlazorReferences: (references: string[], meta?: PiletMetadata, satellites?: {}, prio?: number, kind?: string) => void;
|
|
15
|
+
export declare const defineBlazorReferences: (references: string[], meta?: PiletMetadata, satellites?: {}, prio?: number, kind?: string, sharedDependencies?: any[]) => void;
|
|
16
16
|
export declare const releaseBlazorReferences: () => Promise<void>;
|
package/esm/create.js
CHANGED
|
@@ -22,8 +22,8 @@ export function createBlazorApi(config = {}) {
|
|
|
22
22
|
const loader = createDependencyLoader(convert);
|
|
23
23
|
let options;
|
|
24
24
|
return {
|
|
25
|
-
defineBlazorReferences(references, satellites, prio, kind) {
|
|
26
|
-
return loader.defineBlazorReferences(references, meta, satellites, prio, kind);
|
|
25
|
+
defineBlazorReferences(references, satellites, prio, kind, sharedDependencies) {
|
|
26
|
+
return loader.defineBlazorReferences(references, meta, satellites, prio, kind, sharedDependencies);
|
|
27
27
|
},
|
|
28
28
|
defineBlazorOptions(blazorOptions) {
|
|
29
29
|
options = blazorOptions;
|
package/esm/create.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAkCxD,SAAS,oBAAoB,CAAC,OAAqB;IACjD,OAAO,CAAC,MAAkC,EAAE,EAAE;QAC5C,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE,EAAE;YACnC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,SAAuB,EAAE;IACvD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,eAAe,EAAE,gBAAgB,GAAG,oBAAoB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAC5G,MAAM,OAAO,GAAG,eAAe,CAC7B,IAAI,EACJ,MAAM,CAAC,OAAO,EACd;YACE,OAAO,EAAE,eAAe;YACxB,QAAQ,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;SACzC,EACD,QAAQ,CACT,CAAC;QACF,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,CACxE,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAEjD,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;YACjB,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,OAAsB,CAAC;YAE3B,OAAO;gBACL,sBAAsB,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAkCxD,SAAS,oBAAoB,CAAC,OAAqB;IACjD,OAAO,CAAC,MAAkC,EAAE,EAAE;QAC5C,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE,EAAE;YACnC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,SAAuB,EAAE;IACvD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,eAAe,EAAE,gBAAgB,GAAG,oBAAoB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAC5G,MAAM,OAAO,GAAG,eAAe,CAC7B,IAAI,EACJ,MAAM,CAAC,OAAO,EACd;YACE,OAAO,EAAE,eAAe;YACxB,QAAQ,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;SACzC,EACD,QAAQ,CACT,CAAC;QACF,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,CACxE,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAEjD,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;YACjB,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,OAAsB,CAAC;YAE3B,OAAO;gBACL,sBAAsB,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB;oBAC3E,OAAO,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;gBACrG,CAAC;gBACD,mBAAmB,CAAC,aAA4B;oBAC9C,OAAO,GAAG,aAAa,CAAC;gBAC1B,CAAC;gBACD,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;gBACvD,UAAU,CAAC,UAAU,EAAE,IAAI;oBACzB,OAAO;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,MAAM,CAAC,aAAa,EAAE;wBAClC,UAAU;wBACV,IAAI;wBACJ,OAAO;qBACR,CAAC;gBACJ,CAAC;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
package/esm/dependencies.d.ts
CHANGED
|
@@ -3,6 +3,6 @@ import type { createConverter } from './converter';
|
|
|
3
3
|
import type { BlazorDependencyLoader } from './types';
|
|
4
4
|
export declare function createDependencyLoader(convert: ReturnType<typeof createConverter>): {
|
|
5
5
|
getDependency(): BlazorDependencyLoader;
|
|
6
|
-
defineBlazorReferences(references: Array<string>, meta?: Partial<PiletMetadata>, satellites?: {}, prio?: number, kind?: string): void;
|
|
6
|
+
defineBlazorReferences(references: Array<string>, meta?: Partial<PiletMetadata>, satellites?: {}, prio?: number, kind?: string, sharedDependencies?: any[]): void;
|
|
7
7
|
releaseBlazorReferences(): Promise<void>;
|
|
8
8
|
};
|
package/esm/dependencies.js
CHANGED
|
@@ -3,9 +3,24 @@ import { __awaiter } from "tslib";
|
|
|
3
3
|
import { loadBlazorPilet, loadResource, loadResourceWithSymbol, unloadBlazorPilet, unloadResource } from './interop';
|
|
4
4
|
const loadedDependencies = ((_a = window.$blazorDependencies) !== null && _a !== void 0 ? _a : (window.$blazorDependencies = []));
|
|
5
5
|
const depsWithPrios = ((_b = window.$blazorDependencyPrios) !== null && _b !== void 0 ? _b : (window.$blazorDependencyPrios = []));
|
|
6
|
+
function toExtLessUrl(url) {
|
|
7
|
+
const idx = url.lastIndexOf('.');
|
|
8
|
+
const sep = url.lastIndexOf('/');
|
|
9
|
+
if (idx > sep) {
|
|
10
|
+
return url.substring(0, idx);
|
|
11
|
+
}
|
|
12
|
+
return url;
|
|
13
|
+
}
|
|
6
14
|
function toPdb(url) {
|
|
7
|
-
|
|
8
|
-
|
|
15
|
+
return `${toExtLessUrl(url)}.pdb`;
|
|
16
|
+
}
|
|
17
|
+
function toDepName(url) {
|
|
18
|
+
const front = toExtLessUrl(url);
|
|
19
|
+
const idx = front.lastIndexOf('/');
|
|
20
|
+
if (idx >= 0) {
|
|
21
|
+
return front.substring(idx + 1);
|
|
22
|
+
}
|
|
23
|
+
return front;
|
|
9
24
|
}
|
|
10
25
|
export function createDependencyLoader(convert) {
|
|
11
26
|
const definedBlazorReferences = [];
|
|
@@ -15,7 +30,7 @@ export function createDependencyLoader(convert) {
|
|
|
15
30
|
getDependency() {
|
|
16
31
|
return dependency;
|
|
17
32
|
},
|
|
18
|
-
defineBlazorReferences(references, meta = {}, satellites = {}, prio = 0, kind = 'local') {
|
|
33
|
+
defineBlazorReferences(references, meta = {}, satellites = {}, prio = 0, kind = 'local', sharedDependencies = []) {
|
|
19
34
|
prio = Math.max(prio, 0);
|
|
20
35
|
const depWithPrio = {
|
|
21
36
|
prio,
|
|
@@ -34,11 +49,24 @@ export function createDependencyLoader(convert) {
|
|
|
34
49
|
if (!capabilities.includes('language')) {
|
|
35
50
|
satellites = undefined;
|
|
36
51
|
}
|
|
52
|
+
const supportsCore = capabilities.includes('core-pilet');
|
|
37
53
|
const dependencies = references.filter((m) => m.endsWith('.dll'));
|
|
38
54
|
const dllUrl = dependencies.pop();
|
|
39
55
|
const pdbUrl = toPdb(dllUrl);
|
|
40
56
|
const dependencySymbols = dependencies.map(toPdb).filter(dep => references.includes(dep));
|
|
41
57
|
const id = Math.random().toString(26).substring(2);
|
|
58
|
+
if (supportsCore) {
|
|
59
|
+
for (let i = dependencies.length; i--;) {
|
|
60
|
+
const name = toDepName(dependencies[i]);
|
|
61
|
+
for (const dep of sharedDependencies) {
|
|
62
|
+
// OK we want to share this one - remove it from the given dependencies
|
|
63
|
+
if (name === dep) {
|
|
64
|
+
dependencies.splice(i, 1);
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
42
70
|
yield loadBlazorPilet(id, {
|
|
43
71
|
name: meta.name || '(unknown)',
|
|
44
72
|
version: meta.version || '0.0.0',
|
|
@@ -46,8 +74,8 @@ export function createDependencyLoader(convert) {
|
|
|
46
74
|
baseUrl: meta.basePath || dllUrl.substring(0, dllUrl.lastIndexOf('/')).replace('/_framework/', '/'),
|
|
47
75
|
dependencies,
|
|
48
76
|
dependencySymbols: capabilities.includes('dependency-symbols') ? dependencySymbols : undefined,
|
|
49
|
-
sharedDependencies:
|
|
50
|
-
kind:
|
|
77
|
+
sharedDependencies: supportsCore ? sharedDependencies : undefined,
|
|
78
|
+
kind: supportsCore ? kind : undefined,
|
|
51
79
|
satellites,
|
|
52
80
|
dllUrl,
|
|
53
81
|
pdbUrl: references.includes(pdbUrl) ? pdbUrl : undefined,
|
package/esm/dependencies.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAIrH,MAAM,kBAAkB,GAAG,OAAC,MAAM,CAAC,mBAAmB,oCAA1B,MAAM,CAAC,mBAAmB,GAAK,EAAE,EAAC,CAAC;AAC/D,MAAM,aAAa,GAAG,OAAC,MAAM,CAAC,sBAAsB,oCAA7B,MAAM,CAAC,sBAAsB,GAAK,EAAE,EAAC,CAAC;AAE7D,SAAS,
|
|
1
|
+
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"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"}
|
package/esm/interop.d.ts
CHANGED
package/esm/types.d.ts
CHANGED
|
@@ -116,8 +116,9 @@ export interface PiletBlazorApi {
|
|
|
116
116
|
* @param satellites The URLs of the potential satellite DLLs to include.
|
|
117
117
|
* @param prio The loading priority of the DLLs. Higher numbers will always be loaded before lower numbers.
|
|
118
118
|
* @param kind The kind of pilet to use. Global pilets will always be loaded before local pilets.
|
|
119
|
+
* @param sharedDependencies The names of the dependencies that should be put in the global context.
|
|
119
120
|
*/
|
|
120
|
-
defineBlazorReferences(referenceUrls: Array<string>, satellites?: Record<string, Array<string>>, prio?: number, kind?: 'global' | 'local'): void;
|
|
121
|
+
defineBlazorReferences(referenceUrls: Array<string>, satellites?: Record<string, Array<string>>, prio?: number, kind?: 'global' | 'local', sharedDependencies?: Array<string>): void;
|
|
121
122
|
/**
|
|
122
123
|
* Wraps a Blazor module for use in Piral.
|
|
123
124
|
*
|
package/lib/create.js
CHANGED
|
@@ -25,8 +25,8 @@ function createBlazorApi(config = {}) {
|
|
|
25
25
|
const loader = (0, dependencies_1.createDependencyLoader)(convert);
|
|
26
26
|
let options;
|
|
27
27
|
return {
|
|
28
|
-
defineBlazorReferences(references, satellites, prio, kind) {
|
|
29
|
-
return loader.defineBlazorReferences(references, meta, satellites, prio, kind);
|
|
28
|
+
defineBlazorReferences(references, satellites, prio, kind, sharedDependencies) {
|
|
29
|
+
return loader.defineBlazorReferences(references, meta, satellites, prio, kind, sharedDependencies);
|
|
30
30
|
},
|
|
31
31
|
defineBlazorOptions(blazorOptions) {
|
|
32
32
|
options = blazorOptions;
|
package/lib/create.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":";;;AACA,2CAA8C;AAC9C,iDAAwD;AAkCxD,SAAS,oBAAoB,CAAC,OAAqB;IACjD,OAAO,CAAC,MAAkC,EAAE,EAAE;QAC5C,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE,EAAE;YACnC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,SAAuB,EAAE;IACvD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,eAAe,EAAE,gBAAgB,GAAG,oBAAoB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAC5G,MAAM,OAAO,GAAG,IAAA,2BAAe,EAC7B,IAAI,EACJ,MAAM,CAAC,OAAO,EACd;YACE,OAAO,EAAE,eAAe;YACxB,QAAQ,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;SACzC,EACD,QAAQ,CACT,CAAC;QACF,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,CACxE,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAEjD,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;YACjB,MAAM,MAAM,GAAG,IAAA,qCAAsB,EAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,OAAsB,CAAC;YAE3B,OAAO;gBACL,sBAAsB,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":";;;AACA,2CAA8C;AAC9C,iDAAwD;AAkCxD,SAAS,oBAAoB,CAAC,OAAqB;IACjD,OAAO,CAAC,MAAkC,EAAE,EAAE;QAC5C,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE,EAAE;YACnC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,SAAuB,EAAE;IACvD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,eAAe,EAAE,gBAAgB,GAAG,oBAAoB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAC5G,MAAM,OAAO,GAAG,IAAA,2BAAe,EAC7B,IAAI,EACJ,MAAM,CAAC,OAAO,EACd;YACE,OAAO,EAAE,eAAe;YACxB,QAAQ,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;SACzC,EACD,QAAQ,CACT,CAAC;QACF,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,CACxE,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAEjD,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;YACjB,MAAM,MAAM,GAAG,IAAA,qCAAsB,EAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,OAAsB,CAAC;YAE3B,OAAO;gBACL,sBAAsB,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB;oBAC3E,OAAO,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;gBACrG,CAAC;gBACD,mBAAmB,CAAC,aAA4B;oBAC9C,OAAO,GAAG,aAAa,CAAC;gBAC1B,CAAC;gBACD,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;gBACvD,UAAU,CAAC,UAAU,EAAE,IAAI;oBACzB,OAAO;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,MAAM,CAAC,aAAa,EAAE;wBAClC,UAAU;wBACV,IAAI;wBACJ,OAAO;qBACR,CAAC;gBACJ,CAAC;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAvCD,0CAuCC"}
|
package/lib/dependencies.d.ts
CHANGED
|
@@ -3,6 +3,6 @@ import type { createConverter } from './converter';
|
|
|
3
3
|
import type { BlazorDependencyLoader } from './types';
|
|
4
4
|
export declare function createDependencyLoader(convert: ReturnType<typeof createConverter>): {
|
|
5
5
|
getDependency(): BlazorDependencyLoader;
|
|
6
|
-
defineBlazorReferences(references: Array<string>, meta?: Partial<PiletMetadata>, satellites?: {}, prio?: number, kind?: string): void;
|
|
6
|
+
defineBlazorReferences(references: Array<string>, meta?: Partial<PiletMetadata>, satellites?: {}, prio?: number, kind?: string, sharedDependencies?: any[]): void;
|
|
7
7
|
releaseBlazorReferences(): Promise<void>;
|
|
8
8
|
};
|
package/lib/dependencies.js
CHANGED
|
@@ -6,9 +6,24 @@ const tslib_1 = require("tslib");
|
|
|
6
6
|
const interop_1 = require("./interop");
|
|
7
7
|
const loadedDependencies = ((_a = window.$blazorDependencies) !== null && _a !== void 0 ? _a : (window.$blazorDependencies = []));
|
|
8
8
|
const depsWithPrios = ((_b = window.$blazorDependencyPrios) !== null && _b !== void 0 ? _b : (window.$blazorDependencyPrios = []));
|
|
9
|
+
function toExtLessUrl(url) {
|
|
10
|
+
const idx = url.lastIndexOf('.');
|
|
11
|
+
const sep = url.lastIndexOf('/');
|
|
12
|
+
if (idx > sep) {
|
|
13
|
+
return url.substring(0, idx);
|
|
14
|
+
}
|
|
15
|
+
return url;
|
|
16
|
+
}
|
|
9
17
|
function toPdb(url) {
|
|
10
|
-
|
|
11
|
-
|
|
18
|
+
return `${toExtLessUrl(url)}.pdb`;
|
|
19
|
+
}
|
|
20
|
+
function toDepName(url) {
|
|
21
|
+
const front = toExtLessUrl(url);
|
|
22
|
+
const idx = front.lastIndexOf('/');
|
|
23
|
+
if (idx >= 0) {
|
|
24
|
+
return front.substring(idx + 1);
|
|
25
|
+
}
|
|
26
|
+
return front;
|
|
12
27
|
}
|
|
13
28
|
function createDependencyLoader(convert) {
|
|
14
29
|
const definedBlazorReferences = [];
|
|
@@ -18,7 +33,7 @@ function createDependencyLoader(convert) {
|
|
|
18
33
|
getDependency() {
|
|
19
34
|
return dependency;
|
|
20
35
|
},
|
|
21
|
-
defineBlazorReferences(references, meta = {}, satellites = {}, prio = 0, kind = 'local') {
|
|
36
|
+
defineBlazorReferences(references, meta = {}, satellites = {}, prio = 0, kind = 'local', sharedDependencies = []) {
|
|
22
37
|
prio = Math.max(prio, 0);
|
|
23
38
|
const depWithPrio = {
|
|
24
39
|
prio,
|
|
@@ -37,11 +52,24 @@ function createDependencyLoader(convert) {
|
|
|
37
52
|
if (!capabilities.includes('language')) {
|
|
38
53
|
satellites = undefined;
|
|
39
54
|
}
|
|
55
|
+
const supportsCore = capabilities.includes('core-pilet');
|
|
40
56
|
const dependencies = references.filter((m) => m.endsWith('.dll'));
|
|
41
57
|
const dllUrl = dependencies.pop();
|
|
42
58
|
const pdbUrl = toPdb(dllUrl);
|
|
43
59
|
const dependencySymbols = dependencies.map(toPdb).filter(dep => references.includes(dep));
|
|
44
60
|
const id = Math.random().toString(26).substring(2);
|
|
61
|
+
if (supportsCore) {
|
|
62
|
+
for (let i = dependencies.length; i--;) {
|
|
63
|
+
const name = toDepName(dependencies[i]);
|
|
64
|
+
for (const dep of sharedDependencies) {
|
|
65
|
+
// OK we want to share this one - remove it from the given dependencies
|
|
66
|
+
if (name === dep) {
|
|
67
|
+
dependencies.splice(i, 1);
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
45
73
|
yield (0, interop_1.loadBlazorPilet)(id, {
|
|
46
74
|
name: meta.name || '(unknown)',
|
|
47
75
|
version: meta.version || '0.0.0',
|
|
@@ -49,8 +77,8 @@ function createDependencyLoader(convert) {
|
|
|
49
77
|
baseUrl: meta.basePath || dllUrl.substring(0, dllUrl.lastIndexOf('/')).replace('/_framework/', '/'),
|
|
50
78
|
dependencies,
|
|
51
79
|
dependencySymbols: capabilities.includes('dependency-symbols') ? dependencySymbols : undefined,
|
|
52
|
-
sharedDependencies:
|
|
53
|
-
kind:
|
|
80
|
+
sharedDependencies: supportsCore ? sharedDependencies : undefined,
|
|
81
|
+
kind: supportsCore ? kind : undefined,
|
|
54
82
|
satellites,
|
|
55
83
|
dllUrl,
|
|
56
84
|
pdbUrl: references.includes(pdbUrl) ? pdbUrl : undefined,
|
package/lib/dependencies.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":";;;;;AACA,uCAAqH;AAIrH,MAAM,kBAAkB,GAAG,OAAC,MAAM,CAAC,mBAAmB,oCAA1B,MAAM,CAAC,mBAAmB,GAAK,EAAE,EAAC,CAAC;AAC/D,MAAM,aAAa,GAAG,OAAC,MAAM,CAAC,sBAAsB,oCAA7B,MAAM,CAAC,sBAAsB,GAAK,EAAE,EAAC,CAAC;AAE7D,SAAS,
|
|
1
|
+
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"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"}
|
package/lib/interop.d.ts
CHANGED
package/lib/types.d.ts
CHANGED
|
@@ -116,8 +116,9 @@ export interface PiletBlazorApi {
|
|
|
116
116
|
* @param satellites The URLs of the potential satellite DLLs to include.
|
|
117
117
|
* @param prio The loading priority of the DLLs. Higher numbers will always be loaded before lower numbers.
|
|
118
118
|
* @param kind The kind of pilet to use. Global pilets will always be loaded before local pilets.
|
|
119
|
+
* @param sharedDependencies The names of the dependencies that should be put in the global context.
|
|
119
120
|
*/
|
|
120
|
-
defineBlazorReferences(referenceUrls: Array<string>, satellites?: Record<string, Array<string>>, prio?: number, kind?: 'global' | 'local'): void;
|
|
121
|
+
defineBlazorReferences(referenceUrls: Array<string>, satellites?: Record<string, Array<string>>, prio?: number, kind?: 'global' | 'local', sharedDependencies?: Array<string>): void;
|
|
121
122
|
/**
|
|
122
123
|
* Wraps a Blazor module for use in Piral.
|
|
123
124
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "piral-blazor",
|
|
3
|
-
"version": "1.3.0-beta.
|
|
3
|
+
"version": "1.3.0-beta.6001",
|
|
4
4
|
"description": "Plugin for integrating Blazor components in Piral.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"piral",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"test": "echo \"Error: run tests from root\" && exit 1"
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
|
-
"piral-core": "1.3.0-beta.
|
|
70
|
+
"piral-core": "1.3.0-beta.6001"
|
|
71
71
|
},
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "ea22bb317f7bfb648f0fe8ed747c6a13faff54e5"
|
|
73
73
|
}
|
package/src/create.ts
CHANGED
|
@@ -65,8 +65,8 @@ export function createBlazorApi(config: BlazorConfig = {}): PiralPlugin<PiletBla
|
|
|
65
65
|
let options: BlazorOptions;
|
|
66
66
|
|
|
67
67
|
return {
|
|
68
|
-
defineBlazorReferences(references, satellites, prio, kind) {
|
|
69
|
-
return loader.defineBlazorReferences(references, meta, satellites, prio, kind);
|
|
68
|
+
defineBlazorReferences(references, satellites, prio, kind, sharedDependencies) {
|
|
69
|
+
return loader.defineBlazorReferences(references, meta, satellites, prio, kind, sharedDependencies);
|
|
70
70
|
},
|
|
71
71
|
defineBlazorOptions(blazorOptions: BlazorOptions) {
|
|
72
72
|
options = blazorOptions;
|
package/src/dependencies.ts
CHANGED
|
@@ -6,9 +6,30 @@ import type { BlazorDependencyLoader, BlazorRootConfig } from './types';
|
|
|
6
6
|
const loadedDependencies = (window.$blazorDependencies ??= []);
|
|
7
7
|
const depsWithPrios = (window.$blazorDependencyPrios ??= []);
|
|
8
8
|
|
|
9
|
+
function toExtLessUrl(url: string) {
|
|
10
|
+
const idx = url.lastIndexOf('.');
|
|
11
|
+
const sep = url.lastIndexOf('/');
|
|
12
|
+
|
|
13
|
+
if (idx > sep) {
|
|
14
|
+
return url.substring(0, idx);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return url;
|
|
18
|
+
}
|
|
19
|
+
|
|
9
20
|
function toPdb(url: string) {
|
|
10
|
-
|
|
11
|
-
|
|
21
|
+
return `${toExtLessUrl(url)}.pdb`;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function toDepName(url: string) {
|
|
25
|
+
const front = toExtLessUrl(url);
|
|
26
|
+
const idx = front.lastIndexOf('/');
|
|
27
|
+
|
|
28
|
+
if (idx >= 0) {
|
|
29
|
+
return front.substring(idx + 1);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return front;
|
|
12
33
|
}
|
|
13
34
|
|
|
14
35
|
export function createDependencyLoader(convert: ReturnType<typeof createConverter>) {
|
|
@@ -20,7 +41,7 @@ export function createDependencyLoader(convert: ReturnType<typeof createConverte
|
|
|
20
41
|
getDependency() {
|
|
21
42
|
return dependency;
|
|
22
43
|
},
|
|
23
|
-
defineBlazorReferences(references: Array<string>, meta: Partial<PiletMetadata> = {}, satellites = {}, prio = 0, kind = 'local') {
|
|
44
|
+
defineBlazorReferences(references: Array<string>, meta: Partial<PiletMetadata> = {}, satellites = {}, prio = 0, kind = 'local', sharedDependencies = []) {
|
|
24
45
|
prio = Math.max(prio, 0);
|
|
25
46
|
|
|
26
47
|
const depWithPrio = {
|
|
@@ -45,12 +66,27 @@ export function createDependencyLoader(convert: ReturnType<typeof createConverte
|
|
|
45
66
|
satellites = undefined;
|
|
46
67
|
}
|
|
47
68
|
|
|
69
|
+
const supportsCore = capabilities.includes('core-pilet');
|
|
48
70
|
const dependencies = references.filter((m) => m.endsWith('.dll'));
|
|
49
71
|
const dllUrl = dependencies.pop();
|
|
50
72
|
const pdbUrl = toPdb(dllUrl);
|
|
51
73
|
const dependencySymbols = dependencies.map(toPdb).filter(dep => references.includes(dep));
|
|
52
74
|
const id = Math.random().toString(26).substring(2);
|
|
53
75
|
|
|
76
|
+
if (supportsCore) {
|
|
77
|
+
for (let i = dependencies.length; i--; ) {
|
|
78
|
+
const name = toDepName(dependencies[i]);
|
|
79
|
+
|
|
80
|
+
for (const dep of sharedDependencies) {
|
|
81
|
+
// OK we want to share this one - remove it from the given dependencies
|
|
82
|
+
if (name === dep) {
|
|
83
|
+
dependencies.splice(i, 1);
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
54
90
|
await loadBlazorPilet(id, {
|
|
55
91
|
name: meta.name || '(unknown)',
|
|
56
92
|
version: meta.version || '0.0.0',
|
|
@@ -58,8 +94,8 @@ export function createDependencyLoader(convert: ReturnType<typeof createConverte
|
|
|
58
94
|
baseUrl: meta.basePath || dllUrl.substring(0, dllUrl.lastIndexOf('/')).replace('/_framework/', '/'),
|
|
59
95
|
dependencies,
|
|
60
96
|
dependencySymbols: capabilities.includes('dependency-symbols') ? dependencySymbols : undefined,
|
|
61
|
-
sharedDependencies:
|
|
62
|
-
kind:
|
|
97
|
+
sharedDependencies: supportsCore ? sharedDependencies : undefined,
|
|
98
|
+
kind: supportsCore ? kind : undefined,
|
|
63
99
|
satellites,
|
|
64
100
|
dllUrl,
|
|
65
101
|
pdbUrl: references.includes(pdbUrl) ? pdbUrl : undefined,
|
package/src/interop.ts
CHANGED
|
@@ -218,7 +218,7 @@ export interface PiletData {
|
|
|
218
218
|
baseUrl: string;
|
|
219
219
|
satellites?: Record<string, Array<string>>;
|
|
220
220
|
dependencies: Array<string>;
|
|
221
|
-
kind?:
|
|
221
|
+
kind?: string;
|
|
222
222
|
sharedDependencies?: Array<string>;
|
|
223
223
|
dependencySymbols?: Array<string>;
|
|
224
224
|
}
|
package/src/types.ts
CHANGED
|
@@ -137,12 +137,14 @@ export interface PiletBlazorApi {
|
|
|
137
137
|
* @param satellites The URLs of the potential satellite DLLs to include.
|
|
138
138
|
* @param prio The loading priority of the DLLs. Higher numbers will always be loaded before lower numbers.
|
|
139
139
|
* @param kind The kind of pilet to use. Global pilets will always be loaded before local pilets.
|
|
140
|
+
* @param sharedDependencies The names of the dependencies that should be put in the global context.
|
|
140
141
|
*/
|
|
141
142
|
defineBlazorReferences(
|
|
142
143
|
referenceUrls: Array<string>,
|
|
143
144
|
satellites?: Record<string, Array<string>>,
|
|
144
145
|
prio?: number,
|
|
145
146
|
kind?: 'global' | 'local',
|
|
147
|
+
sharedDependencies?: Array<string>,
|
|
146
148
|
): void;
|
|
147
149
|
/**
|
|
148
150
|
* Wraps a Blazor module for use in Piral.
|