pretext-pdf 1.0.9 → 1.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.
Files changed (42) hide show
  1. package/CHANGELOG.md +945 -913
  2. package/UPSTREAM.md +112 -0
  3. package/dist/cli.js +19 -19
  4. package/dist/measure-text.d.ts +1 -1
  5. package/dist/measure-text.d.ts.map +1 -1
  6. package/dist/measure-text.js +1 -1
  7. package/dist/measure-text.js.map +1 -1
  8. package/dist/rich-text.js +1 -1
  9. package/dist/rich-text.js.map +1 -1
  10. package/dist/vendor/pretext/analysis.d.ts +35 -0
  11. package/dist/vendor/pretext/analysis.d.ts.map +1 -0
  12. package/dist/vendor/pretext/analysis.js +1162 -0
  13. package/dist/vendor/pretext/analysis.js.map +1 -0
  14. package/dist/vendor/pretext/bidi.d.ts +2 -0
  15. package/dist/vendor/pretext/bidi.d.ts.map +1 -0
  16. package/dist/vendor/pretext/bidi.js +176 -0
  17. package/dist/vendor/pretext/bidi.js.map +1 -0
  18. package/dist/vendor/pretext/generated/bidi-data.d.ts +5 -0
  19. package/dist/vendor/pretext/generated/bidi-data.d.ts.map +1 -0
  20. package/dist/vendor/pretext/generated/bidi-data.js +980 -0
  21. package/dist/vendor/pretext/generated/bidi-data.js.map +1 -0
  22. package/dist/vendor/pretext/layout.d.ts +75 -0
  23. package/dist/vendor/pretext/layout.d.ts.map +1 -0
  24. package/dist/vendor/pretext/layout.js +448 -0
  25. package/dist/vendor/pretext/layout.js.map +1 -0
  26. package/dist/vendor/pretext/line-break.d.ts +43 -0
  27. package/dist/vendor/pretext/line-break.d.ts.map +1 -0
  28. package/dist/vendor/pretext/line-break.js +908 -0
  29. package/dist/vendor/pretext/line-break.js.map +1 -0
  30. package/dist/vendor/pretext/line-text.d.ts +5 -0
  31. package/dist/vendor/pretext/line-text.d.ts.map +1 -0
  32. package/dist/vendor/pretext/line-text.js +69 -0
  33. package/dist/vendor/pretext/line-text.js.map +1 -0
  34. package/dist/vendor/pretext/measurement.d.ts +31 -0
  35. package/dist/vendor/pretext/measurement.d.ts.map +1 -0
  36. package/dist/vendor/pretext/measurement.js +251 -0
  37. package/dist/vendor/pretext/measurement.js.map +1 -0
  38. package/dist/vendor/pretext/rich-inline.d.ts +53 -0
  39. package/dist/vendor/pretext/rich-inline.d.ts.map +1 -0
  40. package/dist/vendor/pretext/rich-inline.js +327 -0
  41. package/dist/vendor/pretext/rich-inline.js.map +1 -0
  42. package/package.json +212 -212
package/package.json CHANGED
@@ -1,212 +1,212 @@
1
- {
2
- "name": "pretext-pdf",
3
- "version": "1.0.9",
4
- "description": "Generate PDFs from JSON — declarative, serverless, no Chromium. TypeScript-first with professional typography. Ideal for invoices, reports, and AI agents.",
5
- "keywords": [
6
- "pdf",
7
- "pdf-generation",
8
- "pdf-generator",
9
- "json-to-pdf",
10
- "create-pdf",
11
- "invoice-pdf",
12
- "report-pdf",
13
- "typescript-pdf",
14
- "serverless-pdf",
15
- "no-chromium",
16
- "declarative-pdf",
17
- "ai-pdf",
18
- "llm-pdf",
19
- "mcp",
20
- "invoice",
21
- "report",
22
- "resume",
23
- "template",
24
- "typography",
25
- "typescript",
26
- "nodejs",
27
- "type-safe",
28
- "forms",
29
- "rtl",
30
- "hyphenation",
31
- "pretext"
32
- ],
33
- "author": "Himanshu Jain <himanshu@antigravity.dev>",
34
- "license": "MIT",
35
- "homepage": "https://github.com/Himaan1998Y/pretext-pdf#readme",
36
- "bugs": {
37
- "url": "https://github.com/Himaan1998Y/pretext-pdf/issues"
38
- },
39
- "repository": {
40
- "type": "git",
41
- "url": "git+https://github.com/Himaan1998Y/pretext-pdf.git"
42
- },
43
- "engines": {
44
- "node": ">=18.0.0"
45
- },
46
- "sideEffects": false,
47
- "type": "module",
48
- "main": "./dist/index.js",
49
- "types": "./dist/index.d.ts",
50
- "bin": {
51
- "pretext-pdf": "dist/cli.js"
52
- },
53
- "files": [
54
- "dist/",
55
- "fonts/",
56
- "README.md",
57
- "LICENSE",
58
- "CHANGELOG.md"
59
- ],
60
- "exports": {
61
- ".": {
62
- "types": "./dist/index.d.ts",
63
- "import": "./dist/index.js"
64
- },
65
- "./markdown": {
66
- "types": "./dist/markdown.d.ts",
67
- "import": "./dist/markdown.js"
68
- },
69
- "./templates": {
70
- "types": "./dist/templates.d.ts",
71
- "import": "./dist/templates.js"
72
- },
73
- "./compat": {
74
- "types": "./dist/compat.d.ts",
75
- "import": "./dist/compat.js"
76
- },
77
- "./plugin-types": {
78
- "types": "./dist/plugin-types.d.ts",
79
- "import": "./dist/plugin-types.js"
80
- },
81
- "./schema": {
82
- "types": "./dist/schema.d.ts",
83
- "import": "./dist/schema.js"
84
- },
85
- "./package.json": "./package.json"
86
- },
87
- "scripts": {
88
- "build": "tsc",
89
- "api:extract": "api-extractor run --local",
90
- "api:check": "api-extractor run",
91
- "test:unit": "tsx --test test/validate.test.ts test/validate-document.test.ts test/builder.test.ts test/rich-text.test.ts test/layout-contract.test.ts test/hard-text-contract.test.ts test/validate-strict.test.ts test/logger-routing.test.ts test/compat.test.ts test/cli.test.ts",
92
- "pretest:unit": "npm run build",
93
- "test:validate": "tsx --test test/validate.test.ts test/builder.test.ts",
94
- "test:e2e": "tsx --test test/e2e.test.ts",
95
- "test:phase-3": "tsx --test test/signatures-validation.test.ts",
96
- "test:10a": "tsx --test test/qr-barcode.test.ts",
97
- "test:10b": "tsx --test test/charts.test.ts",
98
- "test:10c": "tsx --test test/markdown-entry.test.ts",
99
- "test:10d": "tsx --test test/templates.test.ts",
100
- "test:phase-4": "tsx --test test/footnotes.test.ts",
101
- "test:phase-5": "tsx --test test/image-floats.test.ts",
102
- "test:phases": "tsx --test test/footnotes.test.ts test/image-floats.test.ts test/bookmarks.test.ts test/watermarks.test.ts test/hyphenation.test.ts test/toc.test.ts test/svg.test.ts test/rtl.test.ts test/encryption.test.ts test/integration.test.ts test/hyperlinks.test.ts test/inline-formatting.test.ts test/annotations.test.ts test/assembly.test.ts test/metadata.test.ts test/signatures-visual.test.ts test/forms.test.ts test/callout.test.ts test/signatures-crypto.test.ts test/float-groups.test.ts test/font-subsetting.test.ts test/performance.test.ts test/signatures-validation.test.ts test/cross-cutting.test.ts test/qr-barcode.test.ts test/charts.test.ts test/markdown-entry.test.ts test/templates.test.ts test/security-ssrf.test.ts test/markdown-gfm.test.ts",
103
- "test:phase-7": "tsx --test test/bookmarks.test.ts test/watermarks.test.ts test/hyphenation.test.ts test/toc.test.ts test/svg.test.ts test/rtl.test.ts test/encryption.test.ts test/integration.test.ts",
104
- "test:phase-8": "tsx --test test/hyperlinks.test.ts test/inline-formatting.test.ts test/annotations.test.ts test/assembly.test.ts test/forms.test.ts test/callout.test.ts test/signatures-visual.test.ts test/metadata.test.ts",
105
- "test:8d": "tsx --test test/callout.test.ts",
106
- "test:8f": "tsx --test test/metadata.test.ts",
107
- "test:8e": "tsx --test test/signatures-visual.test.ts",
108
- "test:8b": "tsx --test test/forms.test.ts",
109
- "test:plugin": "tsx --test test/plugin-registry.test.ts",
110
- "test:contract": "tsx --test test/pretext-api-contract.test.ts test/benchmark-baseline.test.ts test/drift-guards.test.ts test/plugin-registry.test.ts test/benchmark-corpora.test.ts test/smoke-staging.test.ts test/table-determinism.test.ts",
111
- "test:2f": "cross-env NODE_OPTIONS=--max-old-space-size=4096 tsx --test test/stress.test.ts",
112
- "test": "npm run test:contract && npm run test:unit && npm run test:e2e && npm run test:phases",
113
- "coverage": "c8 --reporter=text --reporter=lcov npm test",
114
- "coverage:check": "c8 check-coverage --lines 75 --branches 65 --functions 75",
115
- "verify:badges": "cross-env SKIP_TEST_RUN=1 node scripts/verify-badges.js",
116
- "verify:badges:full": "node scripts/verify-badges.js",
117
- "test:rich": "tsx --test test/rich-text.test.ts",
118
- "test:visual": "tsx --test test/visual/visual.test.ts",
119
- "test:visual:update": "cross-env UPDATE_BASELINES=1 tsx test/visual/visual.test.ts",
120
- "example": "tsx examples/invoice.ts",
121
- "example:watermark": "tsx examples/phase7-watermark.ts",
122
- "example:bookmarks": "tsx examples/phase7-bookmarks.ts",
123
- "example:toc": "tsx examples/phase7-toc.ts",
124
- "example:rtl": "tsx examples/phase7-rtl.ts",
125
- "example:encryption": "tsx examples/phase7-encryption.ts",
126
- "example:hyperlinks": "tsx examples/phase8-hyperlinks.ts",
127
- "example:annotations": "tsx examples/phase8-annotations.ts",
128
- "example:assembly": "tsx examples/phase8-assembly.ts",
129
- "example:inline": "tsx examples/phase8-inline.ts",
130
- "example:forms": "tsx examples/phase8-forms.ts",
131
- "example:callout": "tsx examples/phase8-callout.ts",
132
- "example:gst": "tsx examples/gst-invoice-india.ts",
133
- "example:plugin": "tsx examples/plugin-custom-element.ts",
134
- "example:floats": "tsx examples/phase9b-float-groups.ts",
135
- "example:showcase-invoice": "tsx examples/showcase-invoice.ts",
136
- "example:showcase-report": "tsx examples/showcase-report.ts",
137
- "example:showcase-resume": "tsx examples/showcase-resume.ts",
138
- "screenshots": "npm run example:showcase-invoice && npm run example:showcase-report && npm run example:showcase-resume && node scripts/screenshot.cjs",
139
- "typecheck": "tsc --noEmit"
140
- },
141
- "dependencies": {
142
- "@cantoo/pdf-lib": "^2.6.5",
143
- "@chenglou/pretext": "github:Himaan1998Y/pretext#v0.0.6-patched.2",
144
- "@fontsource-variable/inter": "^5.2.8",
145
- "@fontsource/inter": "^5.0.0",
146
- "@pdf-lib/fontkit": "^1.1.1",
147
- "bidi-js": "^1.0.3",
148
- "hyphenation.en-us": "^0.2.1",
149
- "hypher": "^0.2.5"
150
- },
151
- "peerDependencies": {
152
- "@napi-rs/canvas": "^0.1.57",
153
- "@signpdf/signpdf": "^3.3.0",
154
- "bwip-js": "^4.0.0",
155
- "highlight.js": "^11.0.0",
156
- "marked": ">=9.0.0",
157
- "qrcode": "^1.5.0",
158
- "vega": "^5.0.0 || ^6.0.0",
159
- "vega-lite": "^5.0.0 || ^6.0.0"
160
- },
161
- "peerDependenciesMeta": {
162
- "@napi-rs/canvas": {
163
- "optional": true
164
- },
165
- "@signpdf/signpdf": {
166
- "optional": true
167
- },
168
- "highlight.js": {
169
- "optional": true
170
- },
171
- "qrcode": {
172
- "optional": true
173
- },
174
- "bwip-js": {
175
- "optional": true
176
- },
177
- "marked": {
178
- "optional": true
179
- },
180
- "vega": {
181
- "optional": true
182
- },
183
- "vega-lite": {
184
- "optional": true
185
- }
186
- },
187
- "devDependencies": {
188
- "@microsoft/api-extractor": "^7.58.7",
189
- "@signpdf/signpdf": "^3.3.0",
190
- "@types/bwip-js": "^3.2.3",
191
- "@types/node": "^22.0.0",
192
- "@types/pixelmatch": "^5.2.6",
193
- "@types/pngjs": "^6.0.5",
194
- "@types/qrcode": "^1.5.6",
195
- "bwip-js": "^4.9.2",
196
- "c8": "^10.1.3",
197
- "cross-env": "^10.1.0",
198
- "highlight.js": "^11.11.1",
199
- "marked": "^18.0.2",
200
- "pdfjs-dist": "^5.6.205",
201
- "qrcode": "^1.5.4",
202
- "ts-node": "^10.9.2",
203
- "tsx": "^4.7.0",
204
- "typescript": "^5.5.0",
205
- "vega": "^6.2.0",
206
- "vega-lite": "^6.4.2"
207
- },
208
- "optionalDependencies": {
209
- "pixelmatch": "^7.1.0",
210
- "pngjs": "^7.0.0"
211
- }
212
- }
1
+ {
2
+ "name": "pretext-pdf",
3
+ "version": "1.1.0",
4
+ "description": "Generate PDFs from JSON — declarative, serverless, no Chromium. TypeScript-first with professional typography. Ideal for invoices, reports, and AI agents.",
5
+ "keywords": [
6
+ "pdf",
7
+ "pdf-generation",
8
+ "pdf-generator",
9
+ "json-to-pdf",
10
+ "create-pdf",
11
+ "invoice-pdf",
12
+ "report-pdf",
13
+ "typescript-pdf",
14
+ "serverless-pdf",
15
+ "no-chromium",
16
+ "declarative-pdf",
17
+ "ai-pdf",
18
+ "llm-pdf",
19
+ "mcp",
20
+ "invoice",
21
+ "report",
22
+ "resume",
23
+ "template",
24
+ "typography",
25
+ "typescript",
26
+ "nodejs",
27
+ "type-safe",
28
+ "forms",
29
+ "rtl",
30
+ "hyphenation",
31
+ "pretext"
32
+ ],
33
+ "author": "Himanshu Jain <himanshu@antigravity.dev>",
34
+ "license": "MIT",
35
+ "homepage": "https://github.com/Himaan1998Y/pretext-pdf#readme",
36
+ "bugs": {
37
+ "url": "https://github.com/Himaan1998Y/pretext-pdf/issues"
38
+ },
39
+ "repository": {
40
+ "type": "git",
41
+ "url": "git+https://github.com/Himaan1998Y/pretext-pdf.git"
42
+ },
43
+ "engines": {
44
+ "node": ">=18.0.0"
45
+ },
46
+ "sideEffects": false,
47
+ "type": "module",
48
+ "main": "./dist/index.js",
49
+ "types": "./dist/index.d.ts",
50
+ "bin": {
51
+ "pretext-pdf": "dist/cli.js"
52
+ },
53
+ "files": [
54
+ "dist/",
55
+ "fonts/",
56
+ "README.md",
57
+ "LICENSE",
58
+ "CHANGELOG.md",
59
+ "UPSTREAM.md"
60
+ ],
61
+ "exports": {
62
+ ".": {
63
+ "types": "./dist/index.d.ts",
64
+ "import": "./dist/index.js"
65
+ },
66
+ "./markdown": {
67
+ "types": "./dist/markdown.d.ts",
68
+ "import": "./dist/markdown.js"
69
+ },
70
+ "./templates": {
71
+ "types": "./dist/templates.d.ts",
72
+ "import": "./dist/templates.js"
73
+ },
74
+ "./compat": {
75
+ "types": "./dist/compat.d.ts",
76
+ "import": "./dist/compat.js"
77
+ },
78
+ "./plugin-types": {
79
+ "types": "./dist/plugin-types.d.ts",
80
+ "import": "./dist/plugin-types.js"
81
+ },
82
+ "./schema": {
83
+ "types": "./dist/schema.d.ts",
84
+ "import": "./dist/schema.js"
85
+ },
86
+ "./package.json": "./package.json"
87
+ },
88
+ "scripts": {
89
+ "build": "tsc",
90
+ "api:extract": "api-extractor run --local",
91
+ "api:check": "api-extractor run",
92
+ "test:unit": "tsx --test test/validate.test.ts test/validate-document.test.ts test/builder.test.ts test/rich-text.test.ts test/layout-contract.test.ts test/hard-text-contract.test.ts test/validate-strict.test.ts test/logger-routing.test.ts test/compat.test.ts test/cli.test.ts",
93
+ "pretest:unit": "npm run build",
94
+ "test:validate": "tsx --test test/validate.test.ts test/builder.test.ts",
95
+ "test:e2e": "tsx --test test/e2e.test.ts",
96
+ "test:phase-3": "tsx --test test/signatures-validation.test.ts",
97
+ "test:10a": "tsx --test test/qr-barcode.test.ts",
98
+ "test:10b": "tsx --test test/charts.test.ts",
99
+ "test:10c": "tsx --test test/markdown-entry.test.ts",
100
+ "test:10d": "tsx --test test/templates.test.ts",
101
+ "test:phase-4": "tsx --test test/footnotes.test.ts",
102
+ "test:phase-5": "tsx --test test/image-floats.test.ts",
103
+ "test:phases": "tsx --test test/footnotes.test.ts test/image-floats.test.ts test/bookmarks.test.ts test/watermarks.test.ts test/hyphenation.test.ts test/toc.test.ts test/svg.test.ts test/rtl.test.ts test/encryption.test.ts test/integration.test.ts test/hyperlinks.test.ts test/inline-formatting.test.ts test/annotations.test.ts test/assembly.test.ts test/metadata.test.ts test/signatures-visual.test.ts test/forms.test.ts test/callout.test.ts test/signatures-crypto.test.ts test/float-groups.test.ts test/font-subsetting.test.ts test/performance.test.ts test/signatures-validation.test.ts test/cross-cutting.test.ts test/qr-barcode.test.ts test/charts.test.ts test/markdown-entry.test.ts test/templates.test.ts test/security-ssrf.test.ts test/markdown-gfm.test.ts",
104
+ "test:phase-7": "tsx --test test/bookmarks.test.ts test/watermarks.test.ts test/hyphenation.test.ts test/toc.test.ts test/svg.test.ts test/rtl.test.ts test/encryption.test.ts test/integration.test.ts",
105
+ "test:phase-8": "tsx --test test/hyperlinks.test.ts test/inline-formatting.test.ts test/annotations.test.ts test/assembly.test.ts test/forms.test.ts test/callout.test.ts test/signatures-visual.test.ts test/metadata.test.ts",
106
+ "test:8d": "tsx --test test/callout.test.ts",
107
+ "test:8f": "tsx --test test/metadata.test.ts",
108
+ "test:8e": "tsx --test test/signatures-visual.test.ts",
109
+ "test:8b": "tsx --test test/forms.test.ts",
110
+ "test:plugin": "tsx --test test/plugin-registry.test.ts",
111
+ "test:contract": "tsx --test test/pretext-api-contract.test.ts test/benchmark-baseline.test.ts test/drift-guards.test.ts test/plugin-registry.test.ts test/benchmark-corpora.test.ts test/smoke-staging.test.ts test/table-determinism.test.ts",
112
+ "test:2f": "cross-env NODE_OPTIONS=--max-old-space-size=4096 tsx --test test/stress.test.ts",
113
+ "test": "npm run test:contract && npm run test:unit && npm run test:e2e && npm run test:phases",
114
+ "coverage": "c8 --reporter=text --reporter=lcov npm test",
115
+ "coverage:check": "c8 check-coverage --lines 75 --branches 65 --functions 75",
116
+ "verify:badges": "cross-env SKIP_TEST_RUN=1 node scripts/verify-badges.js",
117
+ "verify:badges:full": "node scripts/verify-badges.js",
118
+ "test:rich": "tsx --test test/rich-text.test.ts",
119
+ "test:visual": "tsx --test test/visual/visual.test.ts",
120
+ "test:visual:update": "cross-env UPDATE_BASELINES=1 tsx test/visual/visual.test.ts",
121
+ "example": "tsx examples/invoice.ts",
122
+ "example:watermark": "tsx examples/phase7-watermark.ts",
123
+ "example:bookmarks": "tsx examples/phase7-bookmarks.ts",
124
+ "example:toc": "tsx examples/phase7-toc.ts",
125
+ "example:rtl": "tsx examples/phase7-rtl.ts",
126
+ "example:encryption": "tsx examples/phase7-encryption.ts",
127
+ "example:hyperlinks": "tsx examples/phase8-hyperlinks.ts",
128
+ "example:annotations": "tsx examples/phase8-annotations.ts",
129
+ "example:assembly": "tsx examples/phase8-assembly.ts",
130
+ "example:inline": "tsx examples/phase8-inline.ts",
131
+ "example:forms": "tsx examples/phase8-forms.ts",
132
+ "example:callout": "tsx examples/phase8-callout.ts",
133
+ "example:gst": "tsx examples/gst-invoice-india.ts",
134
+ "example:plugin": "tsx examples/plugin-custom-element.ts",
135
+ "example:floats": "tsx examples/phase9b-float-groups.ts",
136
+ "example:showcase-invoice": "tsx examples/showcase-invoice.ts",
137
+ "example:showcase-report": "tsx examples/showcase-report.ts",
138
+ "example:showcase-resume": "tsx examples/showcase-resume.ts",
139
+ "screenshots": "npm run example:showcase-invoice && npm run example:showcase-report && npm run example:showcase-resume && node scripts/screenshot.cjs",
140
+ "typecheck": "tsc --noEmit"
141
+ },
142
+ "dependencies": {
143
+ "@cantoo/pdf-lib": "^2.6.5",
144
+ "@fontsource-variable/inter": "^5.2.8",
145
+ "@fontsource/inter": "^5.0.0",
146
+ "@pdf-lib/fontkit": "^1.1.1",
147
+ "bidi-js": "^1.0.3",
148
+ "hyphenation.en-us": "^0.2.1",
149
+ "hypher": "^0.2.5"
150
+ },
151
+ "peerDependencies": {
152
+ "@napi-rs/canvas": "^0.1.57",
153
+ "@signpdf/signpdf": "^3.3.0",
154
+ "bwip-js": "^4.0.0",
155
+ "highlight.js": "^11.0.0",
156
+ "marked": ">=9.0.0",
157
+ "qrcode": "^1.5.0",
158
+ "vega": "^5.0.0 || ^6.0.0",
159
+ "vega-lite": "^5.0.0 || ^6.0.0"
160
+ },
161
+ "peerDependenciesMeta": {
162
+ "@napi-rs/canvas": {
163
+ "optional": true
164
+ },
165
+ "@signpdf/signpdf": {
166
+ "optional": true
167
+ },
168
+ "highlight.js": {
169
+ "optional": true
170
+ },
171
+ "qrcode": {
172
+ "optional": true
173
+ },
174
+ "bwip-js": {
175
+ "optional": true
176
+ },
177
+ "marked": {
178
+ "optional": true
179
+ },
180
+ "vega": {
181
+ "optional": true
182
+ },
183
+ "vega-lite": {
184
+ "optional": true
185
+ }
186
+ },
187
+ "devDependencies": {
188
+ "@microsoft/api-extractor": "^7.58.7",
189
+ "@signpdf/signpdf": "^3.3.0",
190
+ "@types/bwip-js": "^3.2.3",
191
+ "@types/node": "^22.0.0",
192
+ "@types/pixelmatch": "^5.2.6",
193
+ "@types/pngjs": "^6.0.5",
194
+ "@types/qrcode": "^1.5.6",
195
+ "bwip-js": "^4.9.2",
196
+ "c8": "^10.1.3",
197
+ "cross-env": "^10.1.0",
198
+ "highlight.js": "^11.11.1",
199
+ "marked": "^18.0.2",
200
+ "pdfjs-dist": "^5.6.205",
201
+ "qrcode": "^1.5.4",
202
+ "ts-node": "^10.9.2",
203
+ "tsx": "^4.7.0",
204
+ "typescript": "^5.5.0",
205
+ "vega": "^6.2.0",
206
+ "vega-lite": "^6.4.2"
207
+ },
208
+ "optionalDependencies": {
209
+ "pixelmatch": "^7.1.0",
210
+ "pngjs": "^7.0.0"
211
+ }
212
+ }