feat: separate AGPL libraries and add dynamic WASM loading

- Add WASM settings page for configuring external AGPL modules
- Implement dynamic loading for PyMuPDF, Ghostscript, and CoherentPDF
- Add Cloudflare Worker proxy for serving WASM files with CORS
- Update all affected tool pages to check WASM availability
- Add showWasmRequiredDialog for missing module configuration

Documentation:
- Update README, licensing.html, and docs to clarify AGPL components
  are not bundled and must be configured separately
- Add WASM-PROXY.md deployment guide with recommended source URLs
- Rename "CPDF" to "CoherentPDF" for consistency
This commit is contained in:
alam00000
2026-01-27 15:26:11 +05:30
parent f6d432eaa7
commit 2c85ca74e9
75 changed files with 9696 additions and 6587 deletions

View File

@@ -274,34 +274,6 @@ export default defineConfig(() => {
}
const staticCopyTargets = [
{
src: 'node_modules/@bentopdf/pymupdf-wasm/assets/*.wasm',
dest: 'pymupdf-wasm',
},
{
src: 'node_modules/@bentopdf/pymupdf-wasm/assets/*.js',
dest: 'pymupdf-wasm',
},
{
src: 'node_modules/@bentopdf/pymupdf-wasm/assets/*.whl',
dest: 'pymupdf-wasm',
},
{
src: 'node_modules/@bentopdf/pymupdf-wasm/assets/*.zip',
dest: 'pymupdf-wasm',
},
{
src: 'node_modules/@bentopdf/pymupdf-wasm/assets/*.json',
dest: 'pymupdf-wasm',
},
{
src: 'node_modules/@bentopdf/gs-wasm/assets/*.wasm',
dest: 'ghostscript-wasm',
},
{
src: 'node_modules/@bentopdf/gs-wasm/assets/*.js',
dest: 'ghostscript-wasm',
},
{
src: 'node_modules/embedpdf-snippet/dist/pdfium.wasm',
dest: 'embedpdf',