Skip to content

Commit bf38b30

Browse files
committed
upadte addon
1 parent 9c2558f commit bf38b30

6 files changed

Lines changed: 29 additions & 14 deletions

File tree

package-lock.json

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
"upload": "node scripts/upload-to-store.mjs"
1717
},
1818
"dependencies": {
19-
"@node-projects/layout2vector": "^5.4.0",
20-
"get-box-quads-polyfill": "^4.30.0"
19+
"@node-projects/layout2vector": "^5.6.0",
20+
"get-box-quads-polyfill": "^4.32.0"
2121
},
2222
"devDependencies": {
2323
"@resvg/resvg-js": "^2.6.2",

src/content/core-lib.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,16 @@ import {
1313
HTMLWriter,
1414
PDFWriter,
1515
EMFWriter,
16+
EMFPlusWriter,
1617
ImageWriter,
1718
} from '@node-projects/layout2vector';
1819

1920
if (!globalThis.__web2vector) {
20-
try { addPolyfill(window); } catch (_) { /* already applied or native */ }
21+
try { addPolyfill(window, true); } catch (_) { /* already applied or native */ }
2122

2223
globalThis.__web2vector = {
2324
extractIR,
2425
renderIR,
25-
writers: { SVGWriter, HTMLWriter, PDFWriter, EMFWriter, ImageWriter },
26+
writers: { SVGWriter, HTMLWriter, PDFWriter, EMFWriter, EMFPlusWriter, ImageWriter },
2627
};
2728
}

src/content/run-export.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,13 @@ import { extensionApi } from '../shared/extension-api.js';
9494
ext = '.emf';
9595
break;
9696
}
97+
case 'emfplus': {
98+
const w = new writers.EMFPlusWriter({ width, height });
99+
data = await renderIR(ir, w);
100+
mime = 'application/octet-stream';
101+
ext = '.emf';
102+
break;
103+
}
97104

98105
/* ── Document ── */
99106
case 'pdf': {

src/shared/formats.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@ export const FORMATS = {
4242
bundle: 'core',
4343
category: 'vector',
4444
},
45+
'emfplus': {
46+
name: 'EMF+',
47+
ext: '.emf',
48+
mime: 'application/octet-stream',
49+
bundle: 'core',
50+
category: 'vector',
51+
},
4552
pdf: {
4653
name: 'PDF',
4754
ext: '.pdf',

tests/formats.test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ describe('FORMATS', () => {
66
const ids = Object.keys(FORMATS);
77
expect(ids).toEqual(
88
expect.arrayContaining([
9-
'svg', 'dxf-standard', 'dxf-acad', 'dwg', 'emf',
9+
'svg', 'dxf-standard', 'dxf-acad', 'dwg', 'emf', 'emfplus',
1010
'pdf', 'html', 'png', 'jpeg', 'webp',
1111
]),
1212
);
13-
expect(ids).toHaveLength(10);
13+
expect(ids).toHaveLength(11);
1414
});
1515

1616
it('every format has required properties', () => {

0 commit comments

Comments
 (0)