@expofp/loader 1.0.61 → 1.0.65
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/dist/bundle/bundle.js +125 -110
- package/dist/bundle/bundle.js.map +1 -1
- package/dist/bundle/{downloadZip-CohB2rQN.js → downloadOfflineZip-B8tTyZYe.js} +1001 -995
- package/dist/bundle/downloadOfflineZip-B8tTyZYe.js.map +1 -0
- package/dist/bundle/{makeOffline-DuRXI_Dd.js → makeOffline-DH6wJEem.js} +37 -37
- package/dist/bundle/makeOffline-DH6wJEem.js.map +1 -0
- package/dist/bundle/makeOfflineBundle-C-xleVMN.js +58 -0
- package/dist/bundle/makeOfflineBundle-C-xleVMN.js.map +1 -0
- package/dist/bundle/saveOfflineZip.browser-BTQeRUY_.js +7 -0
- package/dist/bundle/saveOfflineZip.browser-BTQeRUY_.js.map +1 -0
- package/dist/esm/importJson.js +4 -0
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/offline/downloadOfflineZip.d.ts +4 -0
- package/dist/esm/offline/downloadOfflineZip.js +15 -0
- package/dist/esm/offline/generateZip.d.ts +4 -0
- package/dist/esm/offline/{downloadZip.js → generateZip.js} +9 -8
- package/dist/esm/offline/index.d.ts +9 -1
- package/dist/esm/offline/index.js +12 -4
- package/dist/esm/offline/makeOffline.js +3 -2
- package/dist/esm/offline/makeOfflineBundle.js +19 -8
- package/dist/esm/offline/saveOfflineZip.browser.d.ts +1 -0
- package/dist/esm/offline/saveOfflineZip.browser.js +3 -0
- package/dist/esm/offline/saveOfflineZip.d.ts +1 -0
- package/dist/esm/offline/saveOfflineZip.js +16 -0
- package/dist/esm/offline/tools.js +4 -4
- package/dist/esm/resolve.d.ts +11 -4
- package/dist/esm/resolve.js +6 -34
- package/dist/esm/resolvers/legacyAssetUrlsResolver.js +12 -1
- package/package.json +10 -2
- package/dist/bundle/downloadZip-CohB2rQN.js.map +0 -1
- package/dist/bundle/makeOffline-DuRXI_Dd.js.map +0 -1
- package/dist/bundle/makeOfflineBundle-XjvmvDQE.js +0 -58
- package/dist/bundle/makeOfflineBundle-XjvmvDQE.js.map +0 -1
- package/dist/esm/offline/downloadZip.d.ts +0 -1
package/dist/esm/resolve.js
CHANGED
|
@@ -2,32 +2,17 @@ import { log } from './logger';
|
|
|
2
2
|
import { resolvers } from './resolvers';
|
|
3
3
|
import { createMergedObjectWithOverridenNonRefProps, deepFreeze, replaceObjectFields, } from './shared';
|
|
4
4
|
const globalRefCache = new Map();
|
|
5
|
-
/**
|
|
6
|
-
* Resolves a value from an object using a JSON Pointer RFC 6901.
|
|
7
|
-
*
|
|
8
|
-
* @param object - The object to resolve the value from
|
|
9
|
-
* @param jsonPointer - A JSON Pointer string that must start with '/'
|
|
10
|
-
* @param options - Optional context for resolution, including cache and fetch callback
|
|
11
|
-
* @returns A promise that resolves to the value at the specified JSON Pointer path
|
|
12
|
-
* @throws {Error} If the JSON Pointer is not valid or if a $ref cannot be resolved
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```typescript
|
|
16
|
-
* const obj = { foo: { bar: 'baz' } };
|
|
17
|
-
* const result = await resolve(obj, '/foo/bar');
|
|
18
|
-
* // result === 'baz'
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
5
|
export async function resolve(object, jsonPointer, options) {
|
|
22
6
|
log('Resolving:', jsonPointer, 'of', object, options);
|
|
23
|
-
if (typeof window !== 'undefined') {
|
|
24
|
-
|
|
25
|
-
}
|
|
7
|
+
// if (typeof window !== 'undefined') {
|
|
8
|
+
// (window as any)['__lastResolveObject'] = object;
|
|
9
|
+
// }
|
|
26
10
|
const resolveContext = {
|
|
27
11
|
importCallback: options?.importCallback,
|
|
28
12
|
refCache: options?.refCache || globalRefCache,
|
|
29
13
|
forceFetch: !!options?.forceFetch,
|
|
30
14
|
signal: options?.signal || null,
|
|
15
|
+
preResolvedRefs: options?.preResolvedRefs,
|
|
31
16
|
};
|
|
32
17
|
if (typeof jsonPointer !== 'string') {
|
|
33
18
|
throw new Error(`Invalid JSON Pointer (not a string): ${jsonPointer}`);
|
|
@@ -260,21 +245,8 @@ export function parseRefValue(ref) {
|
|
|
260
245
|
// url: string
|
|
261
246
|
// ) => Promise<any>;
|
|
262
247
|
if (typeof window !== 'undefined') {
|
|
263
|
-
window['__debugResolve'] = async function debugResolve(
|
|
264
|
-
|
|
265
|
-
let ref;
|
|
266
|
-
let resolveContext;
|
|
267
|
-
if (typeof objectOrRef === 'string') {
|
|
268
|
-
object = window['__lastResolveObject'];
|
|
269
|
-
ref = objectOrRef;
|
|
270
|
-
resolveContext = refOrContext;
|
|
271
|
-
}
|
|
272
|
-
else {
|
|
273
|
-
object = objectOrRef;
|
|
274
|
-
ref = refOrContext;
|
|
275
|
-
resolveContext = context;
|
|
276
|
-
}
|
|
277
|
-
return await resolve(object, ref, resolveContext);
|
|
248
|
+
window['__debugResolve'] = async function debugResolve(object, jsonPointer, options) {
|
|
249
|
+
return await resolve(object, jsonPointer, options);
|
|
278
250
|
};
|
|
279
251
|
// (window as any)['__dd'] = async function dd() {
|
|
280
252
|
// const url = 'https://demo.expofp.com/manifest.json';
|
|
@@ -62,13 +62,14 @@ export const legacyAssetUrlsResolver = {
|
|
|
62
62
|
const layerUrl = `${dataUrlBase}${layerFile}?v=${version}`;
|
|
63
63
|
context.importCallback?.(layerUrl, 'script');
|
|
64
64
|
}
|
|
65
|
-
// const files = await filesPromise;...files,
|
|
65
|
+
// const files = await filesPromise;...files,
|
|
66
66
|
const data = globalThis.__data || {};
|
|
67
67
|
const dataFiles = ['data.js', 'wf.data.js', 'fp.svg.js', ...fpLayerFiles];
|
|
68
68
|
const dataFilesAssets = dataFiles.reduce((map, file) => {
|
|
69
69
|
map[file] = { $ref: `asset+${dataUrlBase}${file}?v=${version}` };
|
|
70
70
|
return map;
|
|
71
71
|
}, {});
|
|
72
|
+
// return {};
|
|
72
73
|
return { ...dataFilesAssets, ...populateDataJsAssetsMap(dataUrlBase, data) };
|
|
73
74
|
});
|
|
74
75
|
},
|
|
@@ -87,6 +88,16 @@ function populateDataJsAssetsMap(dataUrlBase, data) {
|
|
|
87
88
|
addLink(data.logo);
|
|
88
89
|
data.exhibitors?.forEach((e) => {
|
|
89
90
|
addLink(e.logo);
|
|
91
|
+
// add same files but with __small and __tiny suffixes
|
|
92
|
+
if (e.logo) {
|
|
93
|
+
const dotIndex = e.logo.lastIndexOf('.');
|
|
94
|
+
if (dotIndex !== -1) {
|
|
95
|
+
const name = e.logo.substring(0, dotIndex);
|
|
96
|
+
const ext = e.logo.substring(dotIndex);
|
|
97
|
+
addLink(`${name}__small${ext}`);
|
|
98
|
+
addLink(`${name}__tiny${ext}`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
90
101
|
e.gallery?.forEach((img) => addLink(img));
|
|
91
102
|
});
|
|
92
103
|
data.events?.forEach((e) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expofp/loader",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.65",
|
|
4
4
|
"description": "ExpoFP JavaScript loader library",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://expofp.com",
|
|
@@ -27,7 +27,10 @@
|
|
|
27
27
|
"dev": "vite",
|
|
28
28
|
"clean": "rm -rf dist",
|
|
29
29
|
"build": "pnpm clean && tsc && vite build",
|
|
30
|
-
"preview": "vite preview"
|
|
30
|
+
"preview": "vite preview",
|
|
31
|
+
"offline:build": "tsx ./scripts/buildOffline.ts",
|
|
32
|
+
"offline:serve": "http-server ./tmp/offline",
|
|
33
|
+
"prepare": "husky"
|
|
31
34
|
},
|
|
32
35
|
"dependencies": {
|
|
33
36
|
"debug": "^4.4.3",
|
|
@@ -36,7 +39,12 @@
|
|
|
36
39
|
"devDependencies": {
|
|
37
40
|
"@types/debug": "^4.1.12",
|
|
38
41
|
"@types/node": "^24.10.0",
|
|
42
|
+
"@types/unzipper": "^0.10.11",
|
|
43
|
+
"http-server": "^14.1.1",
|
|
44
|
+
"husky": "^9.1.7",
|
|
45
|
+
"tsx": "^4.21.0",
|
|
39
46
|
"typescript": "~5.9.3",
|
|
47
|
+
"unzipper": "^0.12.3",
|
|
40
48
|
"vite": "^7.1.7"
|
|
41
49
|
},
|
|
42
50
|
"engines": {
|