@file-viewer/pptx 3.0.2 → 3.1.0
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/README.en.md +4 -0
- package/README.md +4 -0
- package/dist/chart.js +5 -4
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/worker/pptx.worker.js +10 -10
- package/dist/worker-location.d.ts +2 -0
- package/dist/worker-location.js +8 -0
- package/dist/worker.d.ts +2 -0
- package/dist/worker.js +28 -18
- package/package.json +7 -5
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Distinguish an emitted asset from an untouched dependency-relative URL. */
|
|
2
|
+
export const isResolvedPptxWorkerLocation = (moduleUrl, assetUrl) => {
|
|
3
|
+
// Keep the comparison URL dynamic: a bundler must only rewrite the static
|
|
4
|
+
// new URL reference in worker.ts, not both sides of this comparison.
|
|
5
|
+
const relativePath = ['worker', 'pptx.worker.js'].join('/');
|
|
6
|
+
const dependencyRelativeUrl = new URL(relativePath, moduleUrl);
|
|
7
|
+
return assetUrl.href !== dependencyRelativeUrl.href || /\/dist\/worker\.[cm]?js$/.test(moduleUrl.pathname);
|
|
8
|
+
};
|
package/dist/worker.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
import type { PptxWorkerFactoryOptions } from './types';
|
|
2
|
+
/** Returns only a Worker URL that the active bundler has emitted or serves directly. */
|
|
3
|
+
export declare const resolvePptxPackageWorkerUrl: () => string | undefined;
|
|
2
4
|
export declare const createPptxWorker: (options?: PptxWorkerFactoryOptions) => Worker;
|
package/dist/worker.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isResolvedPptxWorkerLocation } from './worker-location.js';
|
|
1
2
|
const viteOptimizedWorkerPathPattern = /\/\.?vite\/deps\/worker\/pptx\.worker\.js$/;
|
|
2
3
|
const viteSourceWorkerModulePattern = /\/src\/worker\.[cm]?[jt]s$/;
|
|
3
4
|
const angularCachePath = '/.angular/cache/';
|
|
@@ -13,10 +14,6 @@ const resolveBundledPptxWorkerUrl = () => {
|
|
|
13
14
|
}
|
|
14
15
|
return new URL('./worker/pptx.worker.js', import.meta.url);
|
|
15
16
|
};
|
|
16
|
-
const canResolveAbsolutePathFrom = (url) => url.protocol !== 'data:' && url.protocol !== 'blob:';
|
|
17
|
-
const resolveViteDevPptxWorkerUrl = (baseUrl) => new URL('/node_modules/@file-viewer/pptx/dist/worker/pptx.worker.js', canResolveAbsolutePathFrom(baseUrl)
|
|
18
|
-
? baseUrl
|
|
19
|
-
: new URL(typeof location !== 'undefined' ? location.href : 'file:///'));
|
|
20
17
|
const resolveAngularVitePptxWorkerUrl = (baseUrl, workerPath) => {
|
|
21
18
|
const cacheIndex = baseUrl.pathname.indexOf(angularCachePath);
|
|
22
19
|
if (cacheIndex < 0) {
|
|
@@ -59,19 +56,29 @@ const resolveViteOptimizedPptxWorkerUrl = (defaultPptxWorkerUrl) => {
|
|
|
59
56
|
return null;
|
|
60
57
|
}
|
|
61
58
|
};
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
59
|
+
const resolvePptxWorkerUrl = (allowDependencyRelativeUrl) => {
|
|
60
|
+
try {
|
|
61
|
+
const moduleUrl = new URL(import.meta.url);
|
|
62
|
+
const workerUrl = resolveBundledPptxWorkerUrl();
|
|
63
|
+
if (isResolvedPptxWorkerLocation(moduleUrl, workerUrl))
|
|
64
|
+
return workerUrl.href;
|
|
65
|
+
if (viteOptimizedWorkerPathPattern.test(workerUrl.pathname)) {
|
|
66
|
+
const optimizedUrl = resolveViteOptimizedPptxWorkerUrl(workerUrl);
|
|
67
|
+
return optimizedUrl ? String(optimizedUrl) : undefined;
|
|
68
|
+
}
|
|
69
|
+
// An untouched dependency-relative URL points below the application bundle,
|
|
70
|
+
// not this package. Renderers with copied-asset discovery must not select it.
|
|
71
|
+
return allowDependencyRelativeUrl ? workerUrl.href : undefined;
|
|
66
72
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
if (viteOptimizedWorkerPathPattern.test(defaultPptxWorkerUrl.pathname)) {
|
|
71
|
-
return resolveViteOptimizedPptxWorkerUrl(defaultPptxWorkerUrl)
|
|
72
|
-
|| resolveViteDevPptxWorkerUrl(defaultPptxWorkerUrl);
|
|
73
|
+
catch {
|
|
74
|
+
// An inlined module without a resolvable package base can still use the
|
|
75
|
+
// host's standard copied assets or an explicitly configured Worker URL.
|
|
73
76
|
}
|
|
74
|
-
return
|
|
77
|
+
return undefined;
|
|
78
|
+
};
|
|
79
|
+
/** Returns only a Worker URL that the active bundler has emitted or serves directly. */
|
|
80
|
+
export const resolvePptxPackageWorkerUrl = () => {
|
|
81
|
+
return resolvePptxWorkerUrl(false);
|
|
75
82
|
};
|
|
76
83
|
export const createPptxWorker = (options = {}) => {
|
|
77
84
|
var _a;
|
|
@@ -83,7 +90,10 @@ export const createPptxWorker = (options = {}) => {
|
|
|
83
90
|
type: (_a = options.workerType) !== null && _a !== void 0 ? _a : 'module',
|
|
84
91
|
});
|
|
85
92
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
93
|
+
// Direct PptxViewer users have no renderer-level copied-asset discovery.
|
|
94
|
+
const workerUrl = resolvePptxWorkerUrl(true);
|
|
95
|
+
if (!workerUrl) {
|
|
96
|
+
throw new Error('PPTX Worker URL is unavailable. Run file-viewer-copy-assets or provide workerUrl.');
|
|
97
|
+
}
|
|
98
|
+
return new Worker(workerUrl, { type: 'module' });
|
|
89
99
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@file-viewer/pptx",
|
|
3
|
-
"version": "3.0
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Native PPTX renderer extracted from File Viewer",
|
|
@@ -61,14 +61,14 @@
|
|
|
61
61
|
],
|
|
62
62
|
"dependencies": {
|
|
63
63
|
"dingbat-to-unicode": "^1.0.1",
|
|
64
|
-
"dompurify": "
|
|
65
|
-
"jszip": "
|
|
64
|
+
"dompurify": "3.4.15",
|
|
65
|
+
"jszip": "3.10.2",
|
|
66
66
|
"tinycolor2": "^1.6.0",
|
|
67
67
|
"utif": "^3.1.0"
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"@types/d3-format": "^3.0.4",
|
|
71
|
-
"@types/node": "^26.
|
|
71
|
+
"@types/node": "^26.5.0",
|
|
72
72
|
"billboard.js": "^3.17.2",
|
|
73
73
|
"d3-format": "^3.1.2",
|
|
74
74
|
"esbuild": "^0.28.2",
|
|
@@ -78,6 +78,8 @@
|
|
|
78
78
|
"scripts": {
|
|
79
79
|
"build": "node scripts/clean-dist.mjs && tsc -b tsconfig.json --force && node scripts/build-worker.mjs && node scripts/copy-assets.mjs && node scripts/fix-esm-extensions.mjs",
|
|
80
80
|
"type-check": "tsc -b tsconfig.json",
|
|
81
|
-
"verify:github-176": "node scripts/verify-github-176.mjs"
|
|
81
|
+
"verify:github-176": "node scripts/verify-github-176.mjs",
|
|
82
|
+
"verify:github-268": "node scripts/verify-github-268.mjs",
|
|
83
|
+
"verify:github-268-browser": "node scripts/verify-github-268-browser.mjs"
|
|
82
84
|
}
|
|
83
85
|
}
|