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 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;oBACvD,OAAO,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACjF,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"}
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"}
@@ -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
  };
@@ -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
- const front = url.substring(0, url.length - 4);
8
- return `${front}.pdb`;
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: capabilities.includes('core-pilet') ? [] : undefined,
50
- kind: capabilities.includes('core-pilet') ? 'local' : undefined,
77
+ sharedDependencies: supportsCore ? sharedDependencies : undefined,
78
+ kind: supportsCore ? kind : undefined,
51
79
  satellites,
52
80
  dllUrl,
53
81
  pdbUrl: references.includes(pdbUrl) ? pdbUrl : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"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"}
package/esm/interop.d.ts CHANGED
@@ -22,7 +22,7 @@ export interface PiletData {
22
22
  baseUrl: string;
23
23
  satellites?: Record<string, Array<string>>;
24
24
  dependencies: Array<string>;
25
- kind?: 'global' | 'local';
25
+ kind?: string;
26
26
  sharedDependencies?: Array<string>;
27
27
  dependencySymbols?: Array<string>;
28
28
  }
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;oBACvD,OAAO,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACjF,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"}
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"}
@@ -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
  };
@@ -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
- const front = url.substring(0, url.length - 4);
11
- return `${front}.pdb`;
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: capabilities.includes('core-pilet') ? [] : undefined,
53
- kind: capabilities.includes('core-pilet') ? 'local' : undefined,
80
+ sharedDependencies: supportsCore ? sharedDependencies : undefined,
81
+ kind: supportsCore ? kind : undefined,
54
82
  satellites,
55
83
  dllUrl,
56
84
  pdbUrl: references.includes(pdbUrl) ? pdbUrl : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"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"}
package/lib/interop.d.ts CHANGED
@@ -22,7 +22,7 @@ export interface PiletData {
22
22
  baseUrl: string;
23
23
  satellites?: Record<string, Array<string>>;
24
24
  dependencies: Array<string>;
25
- kind?: 'global' | 'local';
25
+ kind?: string;
26
26
  sharedDependencies?: Array<string>;
27
27
  dependencySymbols?: Array<string>;
28
28
  }
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.5959",
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.5959"
70
+ "piral-core": "1.3.0-beta.6001"
71
71
  },
72
- "gitHead": "a8fda2d21be0fe7b8e1245496bf2a2eb33f82135"
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;
@@ -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
- const front = url.substring(0, url.length - 4);
11
- return `${front}.pdb`;
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: capabilities.includes('core-pilet') ? [] : undefined,
62
- kind: capabilities.includes('core-pilet') ? 'local' : undefined,
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?: 'global' | 'local';
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.