@pdfme/common 5.5.10 → 6.0.0-dev.1
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/package.json +30 -55
- package/set-version.js +9 -4
- package/src/dynamicTemplate.ts +3 -1
- package/src/expression.ts +14 -5
- package/src/helper.ts +9 -3
- package/src/types.ts +20 -15
- package/src/version.ts +1 -1
- package/tsconfig.build.json +14 -0
- package/tsconfig.json +14 -4
- package/vite.config.mts +33 -0
- package/dist/cjs/__tests__/dynamicTemplate.test.js +0 -337
- package/dist/cjs/__tests__/dynamicTemplate.test.js.map +0 -1
- package/dist/cjs/__tests__/expression.test.js +0 -474
- package/dist/cjs/__tests__/expression.test.js.map +0 -1
- package/dist/cjs/__tests__/helper.test.js +0 -647
- package/dist/cjs/__tests__/helper.test.js.map +0 -1
- package/dist/cjs/__tests__/pluginRegistry.test.js +0 -83
- package/dist/cjs/__tests__/pluginRegistry.test.js.map +0 -1
- package/dist/cjs/src/constants.js +0 -27
- package/dist/cjs/src/constants.js.map +0 -1
- package/dist/cjs/src/dynamicTemplate.js +0 -228
- package/dist/cjs/src/dynamicTemplate.js.map +0 -1
- package/dist/cjs/src/expression.js +0 -463
- package/dist/cjs/src/expression.js.map +0 -1
- package/dist/cjs/src/helper.js +0 -277
- package/dist/cjs/src/helper.js.map +0 -1
- package/dist/cjs/src/index.js +0 -43
- package/dist/cjs/src/index.js.map +0 -1
- package/dist/cjs/src/pluginRegistry.js +0 -33
- package/dist/cjs/src/pluginRegistry.js.map +0 -1
- package/dist/cjs/src/schema.js +0 -190
- package/dist/cjs/src/schema.js.map +0 -1
- package/dist/cjs/src/types.js +0 -3
- package/dist/cjs/src/types.js.map +0 -1
- package/dist/cjs/src/version.js +0 -5
- package/dist/cjs/src/version.js.map +0 -1
- package/dist/esm/__tests__/dynamicTemplate.test.js +0 -302
- package/dist/esm/__tests__/dynamicTemplate.test.js.map +0 -1
- package/dist/esm/__tests__/expression.test.js +0 -472
- package/dist/esm/__tests__/expression.test.js.map +0 -1
- package/dist/esm/__tests__/helper.test.js +0 -612
- package/dist/esm/__tests__/helper.test.js.map +0 -1
- package/dist/esm/__tests__/pluginRegistry.test.js +0 -81
- package/dist/esm/__tests__/pluginRegistry.test.js.map +0 -1
- package/dist/esm/src/constants.js +0 -24
- package/dist/esm/src/constants.js.map +0 -1
- package/dist/esm/src/dynamicTemplate.js +0 -224
- package/dist/esm/src/dynamicTemplate.js.map +0 -1
- package/dist/esm/src/expression.js +0 -426
- package/dist/esm/src/expression.js.map +0 -1
- package/dist/esm/src/helper.js +0 -252
- package/dist/esm/src/helper.js.map +0 -1
- package/dist/esm/src/index.js +0 -8
- package/dist/esm/src/index.js.map +0 -1
- package/dist/esm/src/pluginRegistry.js +0 -29
- package/dist/esm/src/pluginRegistry.js.map +0 -1
- package/dist/esm/src/schema.js +0 -187
- package/dist/esm/src/schema.js.map +0 -1
- package/dist/esm/src/types.js +0 -2
- package/dist/esm/src/types.js.map +0 -1
- package/dist/esm/src/version.js +0 -2
- package/dist/esm/src/version.js.map +0 -1
- package/dist/node/__tests__/dynamicTemplate.test.js +0 -337
- package/dist/node/__tests__/dynamicTemplate.test.js.map +0 -1
- package/dist/node/__tests__/expression.test.js +0 -474
- package/dist/node/__tests__/expression.test.js.map +0 -1
- package/dist/node/__tests__/helper.test.js +0 -647
- package/dist/node/__tests__/helper.test.js.map +0 -1
- package/dist/node/__tests__/pluginRegistry.test.js +0 -83
- package/dist/node/__tests__/pluginRegistry.test.js.map +0 -1
- package/dist/node/src/constants.js +0 -27
- package/dist/node/src/constants.js.map +0 -1
- package/dist/node/src/dynamicTemplate.js +0 -228
- package/dist/node/src/dynamicTemplate.js.map +0 -1
- package/dist/node/src/expression.js +0 -463
- package/dist/node/src/expression.js.map +0 -1
- package/dist/node/src/helper.js +0 -277
- package/dist/node/src/helper.js.map +0 -1
- package/dist/node/src/index.js +0 -43
- package/dist/node/src/index.js.map +0 -1
- package/dist/node/src/pluginRegistry.js +0 -33
- package/dist/node/src/pluginRegistry.js.map +0 -1
- package/dist/node/src/schema.js +0 -190
- package/dist/node/src/schema.js.map +0 -1
- package/dist/node/src/types.js +0 -3
- package/dist/node/src/types.js.map +0 -1
- package/dist/node/src/version.js +0 -5
- package/dist/node/src/version.js.map +0 -1
- package/dist/types/__tests__/dynamicTemplate.test.d.ts +0 -1
- package/dist/types/__tests__/expression.test.d.ts +0 -1
- package/dist/types/__tests__/helper.test.d.ts +0 -1
- package/dist/types/__tests__/pluginRegistry.test.d.ts +0 -1
- package/dist/types/src/constants.d.ts +0 -20
- package/dist/types/src/dynamicTemplate.d.ts +0 -27
- package/dist/types/src/expression.d.ts +0 -6
- package/dist/types/src/helper.d.ts +0 -36
- package/dist/types/src/index.d.ts +0 -9
- package/dist/types/src/pluginRegistry.d.ts +0 -5
- package/dist/types/src/schema.d.ts +0 -820
- package/dist/types/src/types.d.ts +0 -181
- package/dist/types/src/version.d.ts +0 -1
- package/eslint.config.mjs +0 -22
- package/tsconfig.cjs.json +0 -10
- package/tsconfig.esm.json +0 -11
- package/tsconfig.node.json +0 -11
package/package.json
CHANGED
|
@@ -1,51 +1,47 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pdfme/common",
|
|
3
|
-
"version": "
|
|
4
|
-
"
|
|
5
|
-
"author": "hand-dot",
|
|
6
|
-
"license": "MIT",
|
|
3
|
+
"version": "6.0.0-dev.1",
|
|
4
|
+
"description": "TypeScript base PDF generator and React base UI. Open source, developed by the community, and completely free to use under the MIT license!",
|
|
7
5
|
"keywords": [
|
|
8
6
|
"pdf",
|
|
9
|
-
"pdf-generation",
|
|
10
7
|
"pdf-designer",
|
|
8
|
+
"pdf-generation",
|
|
11
9
|
"pdf-viewer",
|
|
12
|
-
"
|
|
13
|
-
"
|
|
10
|
+
"react",
|
|
11
|
+
"typescript"
|
|
14
12
|
],
|
|
15
|
-
"description": "TypeScript base PDF generator and React base UI. Open source, developed by the community, and completely free to use under the MIT license!",
|
|
16
13
|
"homepage": "https://pdfme.com",
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/pdfme/pdfme/issues"
|
|
16
|
+
},
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"author": "hand-dot",
|
|
17
19
|
"repository": {
|
|
18
20
|
"type": "git",
|
|
19
21
|
"url": "git@github.com:pdfme/pdfme.git"
|
|
20
22
|
},
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"types": "dist/types/src/index.d.ts",
|
|
23
|
+
"type": "module",
|
|
24
|
+
"sideEffects": false,
|
|
25
|
+
"main": "./dist/index.js",
|
|
26
|
+
"module": "./dist/index.js",
|
|
27
|
+
"types": "./dist/index.d.ts",
|
|
27
28
|
"exports": {
|
|
28
29
|
".": {
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
},
|
|
33
|
-
"require": "./dist/cjs/src/index.js",
|
|
34
|
-
"types": "./dist/types/src/index.d.ts"
|
|
30
|
+
"types": "./dist/index.d.ts",
|
|
31
|
+
"import": "./dist/index.js",
|
|
32
|
+
"default": "./dist/index.js"
|
|
35
33
|
}
|
|
36
34
|
},
|
|
35
|
+
"publishConfig": {
|
|
36
|
+
"access": "public"
|
|
37
|
+
},
|
|
37
38
|
"scripts": {
|
|
38
|
-
"dev": "node set-version.js &&
|
|
39
|
-
"
|
|
40
|
-
"build": "run-p build:cjs build:esm build:node",
|
|
41
|
-
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
42
|
-
"build:esm": "tsc -p tsconfig.esm.json",
|
|
43
|
-
"build:node": "tsc -p tsconfig.node.json",
|
|
39
|
+
"dev": "node set-version.js && vite build --watch",
|
|
40
|
+
"build": "node set-version.js && vite build && tsc -p tsconfig.build.json",
|
|
44
41
|
"clean": "rimraf dist",
|
|
45
|
-
"lint": "
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"prettier": "prettier --write 'src/**/*.ts'"
|
|
42
|
+
"lint": "vp lint -c ../../.oxlintrc.json src",
|
|
43
|
+
"fmt": "vp fmt -c ../../.oxfmtrc.json src --write",
|
|
44
|
+
"test": "vitest run --config ../../vitest.config.ts"
|
|
49
45
|
},
|
|
50
46
|
"dependencies": {
|
|
51
47
|
"@pdfme/pdf-lib": "*",
|
|
@@ -53,32 +49,11 @@
|
|
|
53
49
|
"buffer": "^6.0.3",
|
|
54
50
|
"zod": "^4.3.6"
|
|
55
51
|
},
|
|
56
|
-
"peerDependencies": {
|
|
57
|
-
"antd": "^5.11.2",
|
|
58
|
-
"form-render": "^2.2.20"
|
|
59
|
-
},
|
|
60
|
-
"jest": {
|
|
61
|
-
"resolver": "ts-jest-resolver",
|
|
62
|
-
"moduleFileExtensions": [
|
|
63
|
-
"js",
|
|
64
|
-
"ts"
|
|
65
|
-
],
|
|
66
|
-
"transform": {
|
|
67
|
-
"^.+\\.ts?$": [
|
|
68
|
-
"ts-jest",
|
|
69
|
-
{
|
|
70
|
-
"tsconfig": "tsconfig.esm.json"
|
|
71
|
-
}
|
|
72
|
-
]
|
|
73
|
-
},
|
|
74
|
-
"testMatch": [
|
|
75
|
-
"**/*.test.ts"
|
|
76
|
-
]
|
|
77
|
-
},
|
|
78
|
-
"publishConfig": {
|
|
79
|
-
"access": "public"
|
|
80
|
-
},
|
|
81
52
|
"devDependencies": {
|
|
82
53
|
"@types/estree": "^1.0.6"
|
|
54
|
+
},
|
|
55
|
+
"peerDependencies": {
|
|
56
|
+
"antd": "^5.11.2 || ^6.0.0",
|
|
57
|
+
"form-render": "^2.2.20"
|
|
83
58
|
}
|
|
84
59
|
}
|
package/set-version.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { execSync } from 'node:child_process';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
|
|
6
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
4
7
|
|
|
5
8
|
const updateVersion = (version) => {
|
|
6
9
|
const filePath = path.join(__dirname, 'src/version.ts');
|
|
@@ -23,7 +26,9 @@ const updateVersion = (version) => {
|
|
|
23
26
|
};
|
|
24
27
|
|
|
25
28
|
try {
|
|
26
|
-
const gitTag = execSync('git describe --tags $(git rev-list --tags --max-count=1)', {
|
|
29
|
+
const gitTag = execSync('git describe --tags $(git rev-list --tags --max-count=1)', {
|
|
30
|
+
encoding: 'utf8',
|
|
31
|
+
}).trim();
|
|
27
32
|
updateVersion(gitTag);
|
|
28
33
|
} catch (error) {
|
|
29
34
|
console.error('Error replacing PDFME_VERSION:', error);
|
package/src/dynamicTemplate.ts
CHANGED
|
@@ -47,7 +47,9 @@ function normalizePageSchemas(
|
|
|
47
47
|
const orderMap = new Map<string, number>();
|
|
48
48
|
|
|
49
49
|
pageSchemas.forEach((schema, index) => {
|
|
50
|
-
|
|
50
|
+
// Guard against negative Y position when schema.y < paddingTop
|
|
51
|
+
// Prevents "Cannot read properties of undefined (reading 'push')" error
|
|
52
|
+
const localY = Math.max(0, schema.position.y - paddingTop);
|
|
51
53
|
items.push({
|
|
52
54
|
schema: cloneDeep(schema),
|
|
53
55
|
baseY: localY,
|
package/src/expression.ts
CHANGED
|
@@ -45,9 +45,9 @@ const safeAssign = (
|
|
|
45
45
|
if (target == null) {
|
|
46
46
|
throw new TypeError('Cannot convert undefined or null to object');
|
|
47
47
|
}
|
|
48
|
-
|
|
48
|
+
|
|
49
49
|
const to = { ...target };
|
|
50
|
-
|
|
50
|
+
|
|
51
51
|
for (const source of sources) {
|
|
52
52
|
if (source != null) {
|
|
53
53
|
for (const key in source) {
|
|
@@ -62,7 +62,7 @@ const safeAssign = (
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
|
|
65
|
+
|
|
66
66
|
return to;
|
|
67
67
|
};
|
|
68
68
|
|
|
@@ -134,7 +134,11 @@ const validateAST = (node: AcornNode): void => {
|
|
|
134
134
|
throw new Error('Access to prohibited property');
|
|
135
135
|
}
|
|
136
136
|
// Block prototype pollution methods
|
|
137
|
-
if (
|
|
137
|
+
if (
|
|
138
|
+
['__defineGetter__', '__defineSetter__', '__lookupGetter__', '__lookupSetter__'].includes(
|
|
139
|
+
propName,
|
|
140
|
+
)
|
|
141
|
+
) {
|
|
138
142
|
throw new Error(`Access to prohibited method: ${propName}`);
|
|
139
143
|
}
|
|
140
144
|
const prohibitedMethods = ['toLocaleString', 'valueOf'];
|
|
@@ -283,7 +287,12 @@ const evaluateAST = (node: AcornNode, context: Record<string, unknown>): unknown
|
|
|
283
287
|
throw new Error('Access to prohibited property');
|
|
284
288
|
}
|
|
285
289
|
// Block prototype pollution methods
|
|
286
|
-
if (
|
|
290
|
+
if (
|
|
291
|
+
typeof prop === 'string' &&
|
|
292
|
+
['__defineGetter__', '__defineSetter__', '__lookupGetter__', '__lookupSetter__'].includes(
|
|
293
|
+
prop,
|
|
294
|
+
)
|
|
295
|
+
) {
|
|
287
296
|
throw new Error(`Access to prohibited method: ${prop}`);
|
|
288
297
|
}
|
|
289
298
|
return obj[prop];
|
package/src/helper.ts
CHANGED
|
@@ -35,7 +35,10 @@ const uniq = <T>(array: Array<T>) => Array.from(new Set(array));
|
|
|
35
35
|
export const getFallbackFontName = (font: Font) => {
|
|
36
36
|
const initial = '';
|
|
37
37
|
const fallbackFontName = Object.entries(font).reduce((acc, cur) => {
|
|
38
|
-
const [fontName, fontValue] = cur as [
|
|
38
|
+
const [fontName, fontValue] = cur as [
|
|
39
|
+
string,
|
|
40
|
+
{ data: string | ArrayBuffer | Uint8Array; fallback?: boolean; subset?: boolean },
|
|
41
|
+
];
|
|
39
42
|
|
|
40
43
|
return !acc && fontValue.fallback ? fontName : acc;
|
|
41
44
|
}, initial);
|
|
@@ -236,7 +239,10 @@ export const checkFont = (arg: { font: Font; template: Template }) => {
|
|
|
236
239
|
template: { schemas },
|
|
237
240
|
} = arg;
|
|
238
241
|
const fontValues = Object.values(font);
|
|
239
|
-
const fallbackFontNum = fontValues.reduce(
|
|
242
|
+
const fallbackFontNum = fontValues.reduce(
|
|
243
|
+
(acc, cur) => (cur.fallback ? acc + 1 : acc),
|
|
244
|
+
0 as number,
|
|
245
|
+
);
|
|
240
246
|
if (fallbackFontNum === 0) {
|
|
241
247
|
throw Error(
|
|
242
248
|
`[@pdfme/common] fallback flag is not found in font. true fallback flag must be only one.
|
|
@@ -270,7 +276,7 @@ export const checkPlugins = (arg: { plugins: Plugins; template: Template }) => {
|
|
|
270
276
|
const allSchemaTypes = uniq(schemas.map((p) => p.map((v) => v.type)).flat());
|
|
271
277
|
|
|
272
278
|
const pluginsSchemaTypes = Object.values(plugins).map((p) =>
|
|
273
|
-
p ?
|
|
279
|
+
p ? p.propPanel.defaultSchema.type : undefined,
|
|
274
280
|
);
|
|
275
281
|
|
|
276
282
|
if (allSchemaTypes.some((s) => !pluginsSchemaTypes.includes(s))) {
|
package/src/types.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import type { PDFPage, PDFDocument } from '@pdfme/pdf-lib';
|
|
3
|
-
import type { ThemeConfig
|
|
3
|
+
import type { ThemeConfig } from 'antd';
|
|
4
4
|
import type { WidgetProps as _PropPanelWidgetProps, Schema as _PropPanelSchema } from 'form-render';
|
|
5
5
|
import {
|
|
6
6
|
Lang,
|
|
@@ -34,6 +34,12 @@ export type ChangeSchemaItem = {
|
|
|
34
34
|
};
|
|
35
35
|
export type ChangeSchemas = (objs: ChangeSchemaItem[]) => void;
|
|
36
36
|
|
|
37
|
+
export type UITheme = {
|
|
38
|
+
colorPrimary: string;
|
|
39
|
+
colorPrimaryBg: string;
|
|
40
|
+
colorWhite: string;
|
|
41
|
+
};
|
|
42
|
+
|
|
37
43
|
/**
|
|
38
44
|
* Properties used for PDF rendering.
|
|
39
45
|
* @template T Type of the extended Schema object.
|
|
@@ -72,7 +78,7 @@ export interface PDFRenderProps<T extends Schema> {
|
|
|
72
78
|
* @property {(arg: { key: string; value: unknown } | { key: string; value: unknown }[]) => void} [onChange] - Used to change the value and schema properties. Only applicable when the mode is 'form' or 'designer'.
|
|
73
79
|
* @property {HTMLDivElement} rootElement - The root HTMLDivElement for the UI.
|
|
74
80
|
* @property {UIOptions} options - Options object passed from the Viewer, Form, or Designer.
|
|
75
|
-
* @property {
|
|
81
|
+
* @property {UITheme} theme - A merged token object used for UI rendering.
|
|
76
82
|
* @property {(key: keyof Dict | string) => string} i18n - An object merged based on the options 'lang' and 'labels'.
|
|
77
83
|
* @property {number} scale - The scale of the UI.
|
|
78
84
|
* @property {Map<string | number, unknown>} _cache - Cache shared only during the execution of the render function (useful for caching images, etc. if needed).
|
|
@@ -88,7 +94,7 @@ export type UIRenderProps<T extends Schema> = {
|
|
|
88
94
|
onChange?: (arg: { key: string; value: unknown } | { key: string; value: unknown }[]) => void;
|
|
89
95
|
rootElement: HTMLDivElement;
|
|
90
96
|
options: UIOptions;
|
|
91
|
-
theme:
|
|
97
|
+
theme: UITheme;
|
|
92
98
|
i18n: (key: string) => string;
|
|
93
99
|
scale: number;
|
|
94
100
|
_cache: Map<string | number, unknown>;
|
|
@@ -104,7 +110,7 @@ export type UIRenderProps<T extends Schema> = {
|
|
|
104
110
|
* @property {SchemaForUI[]} schemas - Array of schemas for UI rendering.
|
|
105
111
|
* @property {Size} pageSize - The size of the page being edited.
|
|
106
112
|
* @property {UIOptions} options - UI options for the property panel.
|
|
107
|
-
* @property {
|
|
113
|
+
* @property {UITheme} theme - The theme token used in the UI.
|
|
108
114
|
* @property {(key: keyof Dict | string) => string} i18n - Internationalization dictionary for UI labels and texts.
|
|
109
115
|
*/
|
|
110
116
|
type PropPanelProps = {
|
|
@@ -114,7 +120,7 @@ type PropPanelProps = {
|
|
|
114
120
|
changeSchemas: ChangeSchemas;
|
|
115
121
|
schemas: SchemaForUI[];
|
|
116
122
|
options: UIOptions;
|
|
117
|
-
theme:
|
|
123
|
+
theme: UITheme;
|
|
118
124
|
i18n: (key: string) => string;
|
|
119
125
|
};
|
|
120
126
|
|
|
@@ -147,16 +153,15 @@ export interface PropPanel<T extends Schema> {
|
|
|
147
153
|
* @property {string} [icon] Icon SVG for the plugin.
|
|
148
154
|
* @property {boolean} [uninterruptedEditMode] When editing in the UI, should the field avoid re-rendering while in edit mode?
|
|
149
155
|
*/
|
|
150
|
-
export
|
|
151
|
-
pdf
|
|
152
|
-
ui
|
|
156
|
+
export interface Plugin<T extends Schema = Schema> {
|
|
157
|
+
pdf(arg: PDFRenderProps<T & Schema>): Promise<void> | void;
|
|
158
|
+
ui(arg: UIRenderProps<T & Schema>): Promise<void> | void;
|
|
153
159
|
propPanel: PropPanel<T & Schema>;
|
|
154
160
|
icon?: string;
|
|
155
161
|
uninterruptedEditMode?: boolean;
|
|
156
|
-
}
|
|
162
|
+
}
|
|
157
163
|
|
|
158
|
-
|
|
159
|
-
export type Plugins = { [key: string]: Plugin<any> };
|
|
164
|
+
export type Plugins = { [key: string]: Plugin };
|
|
160
165
|
|
|
161
166
|
export interface PluginRegistry {
|
|
162
167
|
plugins: { [key: string]: Plugin };
|
|
@@ -189,10 +194,10 @@ export type CustomPdf = z.infer<typeof CustomPdf>;
|
|
|
189
194
|
export type Template = z.infer<typeof Template>;
|
|
190
195
|
export type CommonOptions = z.infer<typeof CommonOptions>;
|
|
191
196
|
export type GeneratorOptions = z.infer<typeof GeneratorOptions>;
|
|
192
|
-
export type GenerateProps = z.infer<typeof GenerateProps> & { plugins?: Plugins };
|
|
197
|
+
export type GenerateProps = Omit<z.infer<typeof GenerateProps>, 'plugins'> & { plugins?: Plugins };
|
|
193
198
|
export type UIOptions = z.infer<typeof UIOptions> & { theme?: ThemeConfig };
|
|
194
|
-
export type UIProps = z.infer<typeof UIProps> & { plugins?: Plugins };
|
|
195
|
-
export type PreviewProps = z.infer<typeof PreviewProps> & { plugins?: Plugins };
|
|
196
|
-
export type DesignerProps = z.infer<typeof DesignerProps> & { plugins?: Plugins };
|
|
199
|
+
export type UIProps = Omit<z.infer<typeof UIProps>, 'plugins'> & { plugins?: Plugins };
|
|
200
|
+
export type PreviewProps = Omit<z.infer<typeof PreviewProps>, 'plugins'> & { plugins?: Plugins };
|
|
201
|
+
export type DesignerProps = Omit<z.infer<typeof DesignerProps>, 'plugins'> & { plugins?: Plugins };
|
|
197
202
|
export type SchemaPageArray = z.infer<typeof SchemaPageArray>;
|
|
198
203
|
export type LegacySchemaPageArray = z.infer<typeof LegacySchemaPageArray>;
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const PDFME_VERSION = '
|
|
1
|
+
export const PDFME_VERSION = '6.0.0';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "../../tsconfig.build.base.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"declaration": true,
|
|
5
|
+
"declarationDir": "./dist",
|
|
6
|
+
"emitDeclarationOnly": true,
|
|
7
|
+
"module": "ESNext",
|
|
8
|
+
"moduleResolution": "bundler",
|
|
9
|
+
"outDir": "./dist",
|
|
10
|
+
"rootDir": "./src",
|
|
11
|
+
"skipLibCheck": true
|
|
12
|
+
},
|
|
13
|
+
"include": ["src/**/*.ts"]
|
|
14
|
+
}
|
package/tsconfig.json
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
{
|
|
2
|
-
"extends": "
|
|
2
|
+
"extends": "../../tsconfig.base.json",
|
|
3
3
|
"compilerOptions": {
|
|
4
|
-
"
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
"composite": true,
|
|
5
|
+
"declaration": true,
|
|
6
|
+
"declarationDir": "./dist/typecheck",
|
|
7
|
+
"emitDeclarationOnly": true,
|
|
8
|
+
"module": "ESNext",
|
|
9
|
+
"moduleResolution": "bundler",
|
|
10
|
+
"outDir": "./dist/typecheck",
|
|
11
|
+
"tsBuildInfoFile": "./dist/typecheck/tsconfig.tsbuildinfo",
|
|
12
|
+
"skipLibCheck": true
|
|
13
|
+
},
|
|
14
|
+
"include": ["src/**/*.ts"],
|
|
15
|
+
"references": [{ "path": "../pdf-lib" }]
|
|
16
|
+
}
|
package/vite.config.mts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import { builtinModules } from 'node:module';
|
|
3
|
+
import { dirname, resolve } from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
import { defineConfig } from 'vite';
|
|
6
|
+
|
|
7
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
const packageJson = JSON.parse(readFileSync(resolve(__dirname, 'package.json'), 'utf8')) as {
|
|
9
|
+
dependencies?: Record<string, string>;
|
|
10
|
+
peerDependencies?: Record<string, string>;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const external = [
|
|
14
|
+
...builtinModules,
|
|
15
|
+
...builtinModules.map((moduleName) => `node:${moduleName}`),
|
|
16
|
+
...Object.keys(packageJson.dependencies ?? {}),
|
|
17
|
+
...Object.keys(packageJson.peerDependencies ?? {}),
|
|
18
|
+
];
|
|
19
|
+
|
|
20
|
+
export default defineConfig({
|
|
21
|
+
build: {
|
|
22
|
+
lib: {
|
|
23
|
+
entry: resolve(__dirname, 'src/index.ts'),
|
|
24
|
+
fileName: 'index',
|
|
25
|
+
formats: ['es'],
|
|
26
|
+
},
|
|
27
|
+
minify: false,
|
|
28
|
+
outDir: 'dist',
|
|
29
|
+
rollupOptions: { external },
|
|
30
|
+
sourcemap: true,
|
|
31
|
+
target: 'es2020',
|
|
32
|
+
},
|
|
33
|
+
});
|