@signiphi/pdf-signer 0.1.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/INSTALLING_LOCALLY.md +184 -0
- package/LICENSE +2 -0
- package/README.md +1093 -0
- package/assets/viewer.html +314 -0
- package/dist/__tests__/helpers/fixtures.d.ts +43 -0
- package/dist/__tests__/helpers/fixtures.d.ts.map +1 -0
- package/dist/__tests__/helpers/mocks.d.ts +333 -0
- package/dist/__tests__/helpers/mocks.d.ts.map +1 -0
- package/dist/__tests__/setup.d.ts +6 -0
- package/dist/__tests__/setup.d.ts.map +1 -0
- package/dist/components/AttachmentUpload.d.ts +17 -0
- package/dist/components/AttachmentUpload.d.ts.map +1 -0
- package/dist/components/EditableFieldsPanel.d.ts +30 -0
- package/dist/components/EditableFieldsPanel.d.ts.map +1 -0
- package/dist/components/ErrorBoundary.d.ts +67 -0
- package/dist/components/ErrorBoundary.d.ts.map +1 -0
- package/dist/components/FormFieldsView.d.ts +42 -0
- package/dist/components/FormFieldsView.d.ts.map +1 -0
- package/dist/components/PdfViewerStyled.d.ts +16 -0
- package/dist/components/PdfViewerStyled.d.ts.map +1 -0
- package/dist/components/PoweredBySigniphi.d.ts +11 -0
- package/dist/components/PoweredBySigniphi.d.ts.map +1 -0
- package/dist/components/SignatureCanvas.d.ts +12 -0
- package/dist/components/SignatureCanvas.d.ts.map +1 -0
- package/dist/components/SignatureInitialsBox.d.ts +23 -0
- package/dist/components/SignatureInitialsBox.d.ts.map +1 -0
- package/dist/components/SignatureModal.d.ts +22 -0
- package/dist/components/SignatureModal.d.ts.map +1 -0
- package/dist/components/SigningInstructions.d.ts +12 -0
- package/dist/components/SigningInstructions.d.ts.map +1 -0
- package/dist/components/SubmissionForm.d.ts +52 -0
- package/dist/components/SubmissionForm.d.ts.map +1 -0
- package/dist/components/ViewToggleToolbar.d.ts +30 -0
- package/dist/components/ViewToggleToolbar.d.ts.map +1 -0
- package/dist/components/form-fields/CheckboxRenderer.d.ts +10 -0
- package/dist/components/form-fields/CheckboxRenderer.d.ts.map +1 -0
- package/dist/components/form-fields/DateFieldRenderer.d.ts +14 -0
- package/dist/components/form-fields/DateFieldRenderer.d.ts.map +1 -0
- package/dist/components/form-fields/DropdownRenderer.d.ts +14 -0
- package/dist/components/form-fields/DropdownRenderer.d.ts.map +1 -0
- package/dist/components/form-fields/FormFieldRenderer.d.ts +20 -0
- package/dist/components/form-fields/FormFieldRenderer.d.ts.map +1 -0
- package/dist/components/form-fields/InitialsFieldRenderer.d.ts +14 -0
- package/dist/components/form-fields/InitialsFieldRenderer.d.ts.map +1 -0
- package/dist/components/form-fields/RadioGroupRenderer.d.ts +10 -0
- package/dist/components/form-fields/RadioGroupRenderer.d.ts.map +1 -0
- package/dist/components/form-fields/SignatureFieldRenderer.d.ts +16 -0
- package/dist/components/form-fields/SignatureFieldRenderer.d.ts.map +1 -0
- package/dist/components/form-fields/TextFieldRenderer.d.ts +14 -0
- package/dist/components/form-fields/TextFieldRenderer.d.ts.map +1 -0
- package/dist/components/form-fields/TextLabelRenderer.d.ts +14 -0
- package/dist/components/form-fields/TextLabelRenderer.d.ts.map +1 -0
- package/dist/components/form-fields/index.d.ts +14 -0
- package/dist/components/form-fields/index.d.ts.map +1 -0
- package/dist/components/index.d.ts +14 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +6297 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/index.mjs +6248 -0
- package/dist/components/index.mjs.map +1 -0
- package/dist/core/PdfViewerCore.d.ts +19 -0
- package/dist/core/PdfViewerCore.d.ts.map +1 -0
- package/dist/core/SignatureCaptureCore.d.ts +37 -0
- package/dist/core/SignatureCaptureCore.d.ts.map +1 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +907 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/index.mjs +884 -0
- package/dist/core/index.mjs.map +1 -0
- package/dist/hooks/index.d.ts +8 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +2167 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/index.mjs +2139 -0
- package/dist/hooks/index.mjs.map +1 -0
- package/dist/hooks/useAttachments.d.ts +25 -0
- package/dist/hooks/useAttachments.d.ts.map +1 -0
- package/dist/hooks/useFieldFiltering.d.ts +29 -0
- package/dist/hooks/useFieldFiltering.d.ts.map +1 -0
- package/dist/hooks/useFormFields.d.ts +23 -0
- package/dist/hooks/useFormFields.d.ts.map +1 -0
- package/dist/hooks/useMultiSignerContext.d.ts +25 -0
- package/dist/hooks/useMultiSignerContext.d.ts.map +1 -0
- package/dist/hooks/usePdfViewer.d.ts +52 -0
- package/dist/hooks/usePdfViewer.d.ts.map +1 -0
- package/dist/hooks/useSignatureCapture.d.ts +17 -0
- package/dist/hooks/useSignatureCapture.d.ts.map +1 -0
- package/dist/hooks/useSignatures.d.ts +25 -0
- package/dist/hooks/useSignatures.d.ts.map +1 -0
- package/dist/index.css +4929 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7220 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +7093 -0
- package/dist/index.mjs.map +1 -0
- package/dist/integrations/index.d.ts +6 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +242 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/integrations/index.mjs +218 -0
- package/dist/integrations/index.mjs.map +1 -0
- package/dist/integrations/next-config.d.ts +46 -0
- package/dist/integrations/next-config.d.ts.map +1 -0
- package/dist/integrations/vite-plugin.d.ts +48 -0
- package/dist/integrations/vite-plugin.d.ts.map +1 -0
- package/dist/lib/index.d.ts +3 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/ui/alert.d.ts +9 -0
- package/dist/lib/ui/alert.d.ts.map +1 -0
- package/dist/lib/ui/button.d.ts +12 -0
- package/dist/lib/ui/button.d.ts.map +1 -0
- package/dist/lib/ui/calendar.d.ts +10 -0
- package/dist/lib/ui/calendar.d.ts.map +1 -0
- package/dist/lib/ui/card.d.ts +9 -0
- package/dist/lib/ui/card.d.ts.map +1 -0
- package/dist/lib/ui/checkbox.d.ts +5 -0
- package/dist/lib/ui/checkbox.d.ts.map +1 -0
- package/dist/lib/ui/dialog.d.ts +20 -0
- package/dist/lib/ui/dialog.d.ts.map +1 -0
- package/dist/lib/ui/index.d.ts +12 -0
- package/dist/lib/ui/index.d.ts.map +1 -0
- package/dist/lib/ui/input.d.ts +6 -0
- package/dist/lib/ui/input.d.ts.map +1 -0
- package/dist/lib/ui/label.d.ts +6 -0
- package/dist/lib/ui/label.d.ts.map +1 -0
- package/dist/lib/ui/popover.d.ts +7 -0
- package/dist/lib/ui/popover.d.ts.map +1 -0
- package/dist/lib/ui/radio-group.d.ts +6 -0
- package/dist/lib/ui/radio-group.d.ts.map +1 -0
- package/dist/lib/ui/select.d.ts +14 -0
- package/dist/lib/ui/select.d.ts.map +1 -0
- package/dist/lib/utils.d.ts +7 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/styles/index.css +5004 -0
- package/dist/types/index.d.ts +265 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +26 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/index.mjs +23 -0
- package/dist/types/index.mjs.map +1 -0
- package/dist/utils/attachment-validators.d.ts +118 -0
- package/dist/utils/attachment-validators.d.ts.map +1 -0
- package/dist/utils/audit-trail.d.ts +27 -0
- package/dist/utils/audit-trail.d.ts.map +1 -0
- package/dist/utils/date-validation.d.ts +30 -0
- package/dist/utils/date-validation.d.ts.map +1 -0
- package/dist/utils/errors.d.ts +106 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/field-extraction.d.ts +27 -0
- package/dist/utils/field-extraction.d.ts.map +1 -0
- package/dist/utils/field-visibility.d.ts +104 -0
- package/dist/utils/field-visibility.d.ts.map +1 -0
- package/dist/utils/index.d.ts +17 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +2501 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/index.mjs +2404 -0
- package/dist/utils/index.mjs.map +1 -0
- package/dist/utils/logger.d.ts +16 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/pdf-field-type-helpers.d.ts +78 -0
- package/dist/utils/pdf-field-type-helpers.d.ts.map +1 -0
- package/dist/utils/pdf-helpers.d.ts +38 -0
- package/dist/utils/pdf-helpers.d.ts.map +1 -0
- package/dist/utils/pdf-lib-loader.d.ts +45 -0
- package/dist/utils/pdf-lib-loader.d.ts.map +1 -0
- package/dist/utils/pdf-manipulation.d.ts +93 -0
- package/dist/utils/pdf-manipulation.d.ts.map +1 -0
- package/dist/utils/pdf-validators.d.ts +149 -0
- package/dist/utils/pdf-validators.d.ts.map +1 -0
- package/dist/utils/pdf-viewer-filter.d.ts +35 -0
- package/dist/utils/pdf-viewer-filter.d.ts.map +1 -0
- package/dist/utils/pdf-widget-helpers.d.ts +98 -0
- package/dist/utils/pdf-widget-helpers.d.ts.map +1 -0
- package/dist/utils/pdfjs-config.d.ts +56 -0
- package/dist/utils/pdfjs-config.d.ts.map +1 -0
- package/dist/utils/pdfjs-version-check.d.ts +28 -0
- package/dist/utils/pdfjs-version-check.d.ts.map +1 -0
- package/dist/utils/performance-monitor.d.ts +172 -0
- package/dist/utils/performance-monitor.d.ts.map +1 -0
- package/dist/utils/tracking.d.ts +89 -0
- package/dist/utils/tracking.d.ts.map +1 -0
- package/package.json +180 -0
- package/scripts/analyze-bundle.js +271 -0
- package/scripts/copy-utils.js +227 -0
- package/scripts/copy-utils.test.js +164 -0
- package/scripts/postinstall.js +109 -0
- package/scripts/setup.js +108 -0
- package/src/styles/index.css +139 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var fs = require('fs');
|
|
4
|
+
var path = require('path');
|
|
5
|
+
|
|
6
|
+
function _interopNamespace(e) {
|
|
7
|
+
if (e && e.__esModule) return e;
|
|
8
|
+
var n = Object.create(null);
|
|
9
|
+
if (e) {
|
|
10
|
+
Object.keys(e).forEach(function (k) {
|
|
11
|
+
if (k !== 'default') {
|
|
12
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
13
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () { return e[k]; }
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
n.default = e;
|
|
21
|
+
return Object.freeze(n);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
|
|
25
|
+
var path__namespace = /*#__PURE__*/_interopNamespace(path);
|
|
26
|
+
|
|
27
|
+
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
28
|
+
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
29
|
+
}) : x)(function(x) {
|
|
30
|
+
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
31
|
+
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
32
|
+
});
|
|
33
|
+
function getPdfjsVersion() {
|
|
34
|
+
try {
|
|
35
|
+
const packageJsonPath = __require.resolve("pdfjs-dist/package.json");
|
|
36
|
+
const packageJson = JSON.parse(fs__namespace.readFileSync(packageJsonPath, "utf8"));
|
|
37
|
+
return packageJson.version;
|
|
38
|
+
} catch (error) {
|
|
39
|
+
return "unknown";
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function getSavedVersion(targetDir) {
|
|
43
|
+
try {
|
|
44
|
+
const versionFile = path__namespace.join(targetDir, ".version");
|
|
45
|
+
if (fs__namespace.existsSync(versionFile)) {
|
|
46
|
+
return fs__namespace.readFileSync(versionFile, "utf8").trim();
|
|
47
|
+
}
|
|
48
|
+
} catch (error) {
|
|
49
|
+
}
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
function copyDirectory(src, dest) {
|
|
53
|
+
if (!fs__namespace.existsSync(src)) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
fs__namespace.mkdirSync(dest, { recursive: true });
|
|
57
|
+
const entries = fs__namespace.readdirSync(src, { withFileTypes: true });
|
|
58
|
+
for (const entry of entries) {
|
|
59
|
+
const srcPath = path__namespace.join(src, entry.name);
|
|
60
|
+
const destPath = path__namespace.join(dest, entry.name);
|
|
61
|
+
if (entry.isDirectory()) {
|
|
62
|
+
copyDirectory(srcPath, destPath);
|
|
63
|
+
} else {
|
|
64
|
+
fs__namespace.copyFileSync(srcPath, destPath);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
function copyPdfJsFiles(targetDir, force = false) {
|
|
70
|
+
try {
|
|
71
|
+
if (!force) {
|
|
72
|
+
const currentVersion2 = getPdfjsVersion();
|
|
73
|
+
const savedVersion = getSavedVersion(targetDir);
|
|
74
|
+
if (currentVersion2 === savedVersion && fs__namespace.existsSync(targetDir)) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
const pdfjsPath = path__namespace.dirname(__require.resolve("pdfjs-dist/package.json"));
|
|
79
|
+
fs__namespace.mkdirSync(targetDir, { recursive: true });
|
|
80
|
+
const buildSrc = path__namespace.join(pdfjsPath, "build");
|
|
81
|
+
const buildDest = path__namespace.join(targetDir, "build");
|
|
82
|
+
if (!copyDirectory(buildSrc, buildDest)) {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
const webSrc = path__namespace.join(pdfjsPath, "web");
|
|
86
|
+
const webDest = path__namespace.join(targetDir, "web");
|
|
87
|
+
if (!copyDirectory(webSrc, webDest)) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
const customViewerSrc = path__namespace.join(__dirname, "..", "..", "assets", "viewer.html");
|
|
91
|
+
const customViewerDest = path__namespace.join(webDest, "viewer.html");
|
|
92
|
+
if (fs__namespace.existsSync(customViewerSrc)) {
|
|
93
|
+
fs__namespace.copyFileSync(customViewerSrc, customViewerDest);
|
|
94
|
+
} else {
|
|
95
|
+
console.error("\u26A0\uFE0F Custom viewer.html template not found in package assets");
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
const currentVersion = getPdfjsVersion();
|
|
99
|
+
const versionFile = path__namespace.join(targetDir, ".version");
|
|
100
|
+
fs__namespace.writeFileSync(versionFile, currentVersion, "utf8");
|
|
101
|
+
return true;
|
|
102
|
+
} catch (error) {
|
|
103
|
+
console.error("Failed to copy PDF.js files:", error);
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
function signiphiPdfJs(options = {}) {
|
|
108
|
+
const {
|
|
109
|
+
targetDir = "public/pdfjs",
|
|
110
|
+
force = false,
|
|
111
|
+
copyOnDev = true,
|
|
112
|
+
copyOnBuild = true
|
|
113
|
+
} = options;
|
|
114
|
+
let resolvedTargetDir;
|
|
115
|
+
let copied = false;
|
|
116
|
+
return {
|
|
117
|
+
name: "signiphi-pdfjs",
|
|
118
|
+
configResolved(config) {
|
|
119
|
+
resolvedTargetDir = path__namespace.resolve(config.root, targetDir);
|
|
120
|
+
},
|
|
121
|
+
buildStart() {
|
|
122
|
+
if (!copied && copyOnBuild) {
|
|
123
|
+
const didCopy = copyPdfJsFiles(resolvedTargetDir, force);
|
|
124
|
+
if (didCopy) {
|
|
125
|
+
console.log("\u2713 PDF.js files copied to", resolvedTargetDir);
|
|
126
|
+
copied = true;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
configureServer() {
|
|
131
|
+
if (copyOnDev) {
|
|
132
|
+
const didCopy = copyPdfJsFiles(resolvedTargetDir, force);
|
|
133
|
+
if (didCopy) {
|
|
134
|
+
console.log("\u2713 PDF.js files copied to", resolvedTargetDir);
|
|
135
|
+
copied = true;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
function getPdfjsVersion2() {
|
|
142
|
+
try {
|
|
143
|
+
const packageJsonPath = __require.resolve("pdfjs-dist/package.json");
|
|
144
|
+
const packageJson = JSON.parse(fs__namespace.readFileSync(packageJsonPath, "utf8"));
|
|
145
|
+
return packageJson.version;
|
|
146
|
+
} catch (error) {
|
|
147
|
+
return "unknown";
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
function getSavedVersion2(targetDir) {
|
|
151
|
+
try {
|
|
152
|
+
const versionFile = path__namespace.join(targetDir, ".version");
|
|
153
|
+
if (fs__namespace.existsSync(versionFile)) {
|
|
154
|
+
return fs__namespace.readFileSync(versionFile, "utf8").trim();
|
|
155
|
+
}
|
|
156
|
+
} catch (error) {
|
|
157
|
+
}
|
|
158
|
+
return null;
|
|
159
|
+
}
|
|
160
|
+
function copyDirectory2(src, dest) {
|
|
161
|
+
if (!fs__namespace.existsSync(src)) {
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
fs__namespace.mkdirSync(dest, { recursive: true });
|
|
165
|
+
const entries = fs__namespace.readdirSync(src, { withFileTypes: true });
|
|
166
|
+
for (const entry of entries) {
|
|
167
|
+
const srcPath = path__namespace.join(src, entry.name);
|
|
168
|
+
const destPath = path__namespace.join(dest, entry.name);
|
|
169
|
+
if (entry.isDirectory()) {
|
|
170
|
+
copyDirectory2(srcPath, destPath);
|
|
171
|
+
} else {
|
|
172
|
+
fs__namespace.copyFileSync(srcPath, destPath);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return true;
|
|
176
|
+
}
|
|
177
|
+
function copyPdfJsFiles2(targetDir, force = false) {
|
|
178
|
+
try {
|
|
179
|
+
if (!force) {
|
|
180
|
+
const currentVersion2 = getPdfjsVersion2();
|
|
181
|
+
const savedVersion = getSavedVersion2(targetDir);
|
|
182
|
+
if (currentVersion2 === savedVersion && fs__namespace.existsSync(targetDir)) {
|
|
183
|
+
return false;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
const pdfjsPath = path__namespace.dirname(__require.resolve("pdfjs-dist/package.json"));
|
|
187
|
+
fs__namespace.mkdirSync(targetDir, { recursive: true });
|
|
188
|
+
const buildSrc = path__namespace.join(pdfjsPath, "build");
|
|
189
|
+
const buildDest = path__namespace.join(targetDir, "build");
|
|
190
|
+
if (!copyDirectory2(buildSrc, buildDest)) {
|
|
191
|
+
return false;
|
|
192
|
+
}
|
|
193
|
+
const webSrc = path__namespace.join(pdfjsPath, "web");
|
|
194
|
+
const webDest = path__namespace.join(targetDir, "web");
|
|
195
|
+
if (!copyDirectory2(webSrc, webDest)) {
|
|
196
|
+
return false;
|
|
197
|
+
}
|
|
198
|
+
const customViewerSrc = path__namespace.join(__dirname, "..", "..", "assets", "viewer.html");
|
|
199
|
+
const customViewerDest = path__namespace.join(webDest, "viewer.html");
|
|
200
|
+
if (fs__namespace.existsSync(customViewerSrc)) {
|
|
201
|
+
fs__namespace.copyFileSync(customViewerSrc, customViewerDest);
|
|
202
|
+
} else {
|
|
203
|
+
console.error("\u26A0\uFE0F Custom viewer.html template not found in package assets");
|
|
204
|
+
return false;
|
|
205
|
+
}
|
|
206
|
+
const currentVersion = getPdfjsVersion2();
|
|
207
|
+
const versionFile = path__namespace.join(targetDir, ".version");
|
|
208
|
+
fs__namespace.writeFileSync(versionFile, currentVersion, "utf8");
|
|
209
|
+
return true;
|
|
210
|
+
} catch (error) {
|
|
211
|
+
console.error("Failed to copy PDF.js files:", error);
|
|
212
|
+
return false;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
function withSigniphiPdfJs(nextConfig = {}, options = {}) {
|
|
216
|
+
const {
|
|
217
|
+
targetDir = "public/pdfjs",
|
|
218
|
+
force = false
|
|
219
|
+
} = options;
|
|
220
|
+
const resolvedTargetDir = path__namespace.resolve(process.cwd(), targetDir);
|
|
221
|
+
const didCopy = copyPdfJsFiles2(resolvedTargetDir, force);
|
|
222
|
+
if (didCopy) {
|
|
223
|
+
console.log("\u2713 PDF.js files copied to", resolvedTargetDir);
|
|
224
|
+
}
|
|
225
|
+
return {
|
|
226
|
+
...nextConfig,
|
|
227
|
+
webpack: (config, context) => {
|
|
228
|
+
if (context.isServer && !context.dev) {
|
|
229
|
+
copyPdfJsFiles2(resolvedTargetDir, force);
|
|
230
|
+
}
|
|
231
|
+
if (typeof nextConfig.webpack === "function") {
|
|
232
|
+
return nextConfig.webpack(config, context);
|
|
233
|
+
}
|
|
234
|
+
return config;
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
exports.signiphiPdfJs = signiphiPdfJs;
|
|
240
|
+
exports.withSigniphiPdfJs = withSigniphiPdfJs;
|
|
241
|
+
//# sourceMappingURL=index.js.map
|
|
242
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/integrations/vite-plugin.ts","../../src/integrations/next-config.ts"],"names":["fs","path","currentVersion","getPdfjsVersion","fs2","getSavedVersion","path2","copyDirectory","copyPdfJsFiles"],"mappings":"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","file":"index.js","sourcesContent":["/**\r\n * Vite plugin for @signiphi/pdf-signer\r\n * Automatically copies PDF.js viewer files during build\r\n */\r\n\r\nimport * as fs from 'fs';\r\nimport * as path from 'path';\r\n\r\n// Type definitions for Vite plugin (avoids requiring vite as a dependency)\r\ninterface ViteConfig {\r\n root: string;\r\n}\r\n\r\ninterface Plugin {\r\n name: string;\r\n configResolved?: (config: ViteConfig) => void;\r\n buildStart?: () => void;\r\n configureServer?: () => void;\r\n}\r\n\r\ninterface signiphiPdfJsPluginOptions {\r\n /**\r\n * Target directory for PDF.js files (default: 'public/pdfjs')\r\n */\r\n targetDir?: string;\r\n\r\n /**\r\n * Whether to force copy even if files exist (default: false)\r\n */\r\n force?: boolean;\r\n\r\n /**\r\n * Whether to copy on dev server start (default: true)\r\n */\r\n copyOnDev?: boolean;\r\n\r\n /**\r\n * Whether to copy on build (default: true)\r\n */\r\n copyOnBuild?: boolean;\r\n}\r\n\r\n/**\r\n * Get the pdfjs-dist version from package.json\r\n */\r\nfunction getPdfjsVersion(): string {\r\n try {\r\n const packageJsonPath = require.resolve('pdfjs-dist/package.json');\r\n const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));\r\n return packageJson.version;\r\n } catch (error) {\r\n return 'unknown';\r\n }\r\n}\r\n\r\n/**\r\n * Get saved version from target directory\r\n */\r\nfunction getSavedVersion(targetDir: string): string | null {\r\n try {\r\n const versionFile = path.join(targetDir, '.version');\r\n if (fs.existsSync(versionFile)) {\r\n return fs.readFileSync(versionFile, 'utf8').trim();\r\n }\r\n } catch (error) {\r\n // Ignore\r\n }\r\n return null;\r\n}\r\n\r\n/**\r\n * Copy a directory recursively\r\n */\r\nfunction copyDirectory(src: string, dest: string): boolean {\r\n if (!fs.existsSync(src)) {\r\n return false;\r\n }\r\n\r\n fs.mkdirSync(dest, { recursive: true });\r\n \r\n const entries = fs.readdirSync(src, { withFileTypes: true });\r\n \r\n for (const entry of entries) {\r\n const srcPath = path.join(src, entry.name);\r\n const destPath = path.join(dest, entry.name);\r\n \r\n if (entry.isDirectory()) {\r\n copyDirectory(srcPath, destPath);\r\n } else {\r\n fs.copyFileSync(srcPath, destPath);\r\n }\r\n }\r\n \r\n return true;\r\n}\r\n\r\n/**\r\n * Copy PDF.js files\r\n */\r\nfunction copyPdfJsFiles(targetDir: string, force: boolean = false): boolean {\r\n try {\r\n // Check if already up to date\r\n if (!force) {\r\n const currentVersion = getPdfjsVersion();\r\n const savedVersion = getSavedVersion(targetDir);\r\n \r\n if (currentVersion === savedVersion && fs.existsSync(targetDir)) {\r\n return false; // Already up to date\r\n }\r\n }\r\n \r\n // Find pdfjs-dist\r\n const pdfjsPath = path.dirname(require.resolve('pdfjs-dist/package.json'));\r\n \r\n // Create target directory\r\n fs.mkdirSync(targetDir, { recursive: true });\r\n \r\n // Copy build directory\r\n const buildSrc = path.join(pdfjsPath, 'build');\r\n const buildDest = path.join(targetDir, 'build');\r\n if (!copyDirectory(buildSrc, buildDest)) {\r\n return false;\r\n }\r\n \r\n // Copy web directory\r\n const webSrc = path.join(pdfjsPath, 'web');\r\n const webDest = path.join(targetDir, 'web');\r\n if (!copyDirectory(webSrc, webDest)) {\r\n return false;\r\n }\r\n\r\n // Copy custom viewer.html from our package assets\r\n // PDF.js 5.x no longer includes viewer.html, so we provide our own\r\n const customViewerSrc = path.join(__dirname, '..', '..', 'assets', 'viewer.html');\r\n const customViewerDest = path.join(webDest, 'viewer.html');\r\n\r\n if (fs.existsSync(customViewerSrc)) {\r\n fs.copyFileSync(customViewerSrc, customViewerDest);\r\n } else {\r\n console.error('⚠️ Custom viewer.html template not found in package assets');\r\n return false;\r\n }\r\n\r\n // Write version file\r\n const currentVersion = getPdfjsVersion();\r\n const versionFile = path.join(targetDir, '.version');\r\n fs.writeFileSync(versionFile, currentVersion, 'utf8');\r\n\r\n return true;\r\n } catch (error) {\r\n console.error('Failed to copy PDF.js files:', error);\r\n return false;\r\n }\r\n}\r\n\r\n/**\r\n * Vite plugin for automatic PDF.js setup\r\n * \r\n * @example\r\n * ```typescript\r\n * // vite.config.ts\r\n * import { defineConfig } from 'vite';\r\n * import { signiphiPdfJs } from '@signiphi/pdf-signer/vite';\r\n * \r\n * export default defineConfig({\r\n * plugins: [signiphiPdfJs()],\r\n * });\r\n * ```\r\n */\r\nexport function signiphiPdfJs(options: signiphiPdfJsPluginOptions = {}): Plugin {\r\n const {\r\n targetDir = 'public/pdfjs',\r\n force = false,\r\n copyOnDev = true,\r\n copyOnBuild = true,\r\n } = options;\r\n\r\n let resolvedTargetDir: string;\r\n let copied = false;\r\n\r\n return {\r\n name: 'signiphi-pdfjs',\r\n \r\n configResolved(config) {\r\n // Resolve target directory relative to project root\r\n resolvedTargetDir = path.resolve(config.root, targetDir);\r\n },\r\n \r\n buildStart() {\r\n if (!copied && copyOnBuild) {\r\n const didCopy = copyPdfJsFiles(resolvedTargetDir, force);\r\n if (didCopy) {\r\n console.log('✓ PDF.js files copied to', resolvedTargetDir);\r\n copied = true;\r\n }\r\n }\r\n },\r\n \r\n configureServer() {\r\n if (copyOnDev) {\r\n const didCopy = copyPdfJsFiles(resolvedTargetDir, force);\r\n if (didCopy) {\r\n console.log('✓ PDF.js files copied to', resolvedTargetDir);\r\n copied = true;\r\n }\r\n }\r\n },\r\n };\r\n}\r\n\r\n","/**\r\n * Next.js configuration helper for @signiphi/pdf-signer\r\n * Automatically copies PDF.js viewer files during build\r\n */\r\n\r\nimport * as fs from 'fs';\r\nimport * as path from 'path';\r\n\r\ninterface signiphiPdfJsOptions {\r\n /**\r\n * Target directory for PDF.js files (default: 'public/pdfjs')\r\n */\r\n targetDir?: string;\r\n\r\n /**\r\n * Whether to force copy even if files exist (default: false)\r\n */\r\n force?: boolean;\r\n}\r\n\r\n/**\r\n * Get the pdfjs-dist version from package.json\r\n */\r\nfunction getPdfjsVersion(): string {\r\n try {\r\n const packageJsonPath = require.resolve('pdfjs-dist/package.json');\r\n const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));\r\n return packageJson.version;\r\n } catch (error) {\r\n return 'unknown';\r\n }\r\n}\r\n\r\n/**\r\n * Get saved version from target directory\r\n */\r\nfunction getSavedVersion(targetDir: string): string | null {\r\n try {\r\n const versionFile = path.join(targetDir, '.version');\r\n if (fs.existsSync(versionFile)) {\r\n return fs.readFileSync(versionFile, 'utf8').trim();\r\n }\r\n } catch (error) {\r\n // Ignore\r\n }\r\n return null;\r\n}\r\n\r\n/**\r\n * Copy a directory recursively\r\n */\r\nfunction copyDirectory(src: string, dest: string): boolean {\r\n if (!fs.existsSync(src)) {\r\n return false;\r\n }\r\n\r\n fs.mkdirSync(dest, { recursive: true });\r\n \r\n const entries = fs.readdirSync(src, { withFileTypes: true });\r\n \r\n for (const entry of entries) {\r\n const srcPath = path.join(src, entry.name);\r\n const destPath = path.join(dest, entry.name);\r\n \r\n if (entry.isDirectory()) {\r\n copyDirectory(srcPath, destPath);\r\n } else {\r\n fs.copyFileSync(srcPath, destPath);\r\n }\r\n }\r\n \r\n return true;\r\n}\r\n\r\n/**\r\n * Copy PDF.js files\r\n */\r\nfunction copyPdfJsFiles(targetDir: string, force: boolean = false): boolean {\r\n try {\r\n // Check if already up to date\r\n if (!force) {\r\n const currentVersion = getPdfjsVersion();\r\n const savedVersion = getSavedVersion(targetDir);\r\n \r\n if (currentVersion === savedVersion && fs.existsSync(targetDir)) {\r\n return false; // Already up to date\r\n }\r\n }\r\n \r\n // Find pdfjs-dist\r\n const pdfjsPath = path.dirname(require.resolve('pdfjs-dist/package.json'));\r\n \r\n // Create target directory\r\n fs.mkdirSync(targetDir, { recursive: true });\r\n \r\n // Copy build directory\r\n const buildSrc = path.join(pdfjsPath, 'build');\r\n const buildDest = path.join(targetDir, 'build');\r\n if (!copyDirectory(buildSrc, buildDest)) {\r\n return false;\r\n }\r\n \r\n // Copy web directory\r\n const webSrc = path.join(pdfjsPath, 'web');\r\n const webDest = path.join(targetDir, 'web');\r\n if (!copyDirectory(webSrc, webDest)) {\r\n return false;\r\n }\r\n\r\n // Copy custom viewer.html from our package assets\r\n // PDF.js 5.x no longer includes viewer.html, so we provide our own\r\n const customViewerSrc = path.join(__dirname, '..', '..', 'assets', 'viewer.html');\r\n const customViewerDest = path.join(webDest, 'viewer.html');\r\n\r\n if (fs.existsSync(customViewerSrc)) {\r\n fs.copyFileSync(customViewerSrc, customViewerDest);\r\n } else {\r\n console.error('⚠️ Custom viewer.html template not found in package assets');\r\n return false;\r\n }\r\n\r\n // Write version file\r\n const currentVersion = getPdfjsVersion();\r\n const versionFile = path.join(targetDir, '.version');\r\n fs.writeFileSync(versionFile, currentVersion, 'utf8');\r\n\r\n return true;\r\n } catch (error) {\r\n console.error('Failed to copy PDF.js files:', error);\r\n return false;\r\n }\r\n}\r\n\r\n/**\r\n * Next.js configuration wrapper for automatic PDF.js setup\r\n * \r\n * @example\r\n * ```javascript\r\n * // next.config.js\r\n * const { withSigniphiPdfJs } = require('@signiphi/pdf-signer/next');\r\n * \r\n * module.exports = withSigniphiPdfJs({\r\n * // your next.js config\r\n * });\r\n * ```\r\n * \r\n * @example\r\n * ```javascript\r\n * // next.config.js with options\r\n * const { withSigniphiPdfJs } = require('@signiphi/pdf-signer/next');\r\n * \r\n * module.exports = withSigniphiPdfJs(\r\n * {\r\n * // your next.js config\r\n * },\r\n * {\r\n * targetDir: 'public/pdfjs',\r\n * force: false,\r\n * }\r\n * );\r\n * ```\r\n */\r\nexport function withSigniphiPdfJs(\r\n nextConfig: any = {},\r\n options: signiphiPdfJsOptions = {}\r\n) {\r\n const {\r\n targetDir = 'public/pdfjs',\r\n force = false,\r\n } = options;\r\n\r\n // Copy files on config load\r\n const resolvedTargetDir = path.resolve(process.cwd(), targetDir);\r\n const didCopy = copyPdfJsFiles(resolvedTargetDir, force);\r\n if (didCopy) {\r\n console.log('✓ PDF.js files copied to', resolvedTargetDir);\r\n }\r\n\r\n // Return the original config (or wrap it if needed)\r\n return {\r\n ...nextConfig,\r\n webpack: (config: any, context: any) => {\r\n // Copy files during webpack build as well\r\n if (context.isServer && !context.dev) {\r\n copyPdfJsFiles(resolvedTargetDir, force);\r\n }\r\n\r\n // Call user's webpack config if provided\r\n if (typeof nextConfig.webpack === 'function') {\r\n return nextConfig.webpack(config, context);\r\n }\r\n\r\n return config;\r\n },\r\n };\r\n}\r\n\r\n"]}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
|
|
4
|
+
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
5
|
+
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
6
|
+
}) : x)(function(x) {
|
|
7
|
+
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
8
|
+
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
9
|
+
});
|
|
10
|
+
function getPdfjsVersion() {
|
|
11
|
+
try {
|
|
12
|
+
const packageJsonPath = __require.resolve("pdfjs-dist/package.json");
|
|
13
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
|
|
14
|
+
return packageJson.version;
|
|
15
|
+
} catch (error) {
|
|
16
|
+
return "unknown";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function getSavedVersion(targetDir) {
|
|
20
|
+
try {
|
|
21
|
+
const versionFile = path.join(targetDir, ".version");
|
|
22
|
+
if (fs.existsSync(versionFile)) {
|
|
23
|
+
return fs.readFileSync(versionFile, "utf8").trim();
|
|
24
|
+
}
|
|
25
|
+
} catch (error) {
|
|
26
|
+
}
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
function copyDirectory(src, dest) {
|
|
30
|
+
if (!fs.existsSync(src)) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
fs.mkdirSync(dest, { recursive: true });
|
|
34
|
+
const entries = fs.readdirSync(src, { withFileTypes: true });
|
|
35
|
+
for (const entry of entries) {
|
|
36
|
+
const srcPath = path.join(src, entry.name);
|
|
37
|
+
const destPath = path.join(dest, entry.name);
|
|
38
|
+
if (entry.isDirectory()) {
|
|
39
|
+
copyDirectory(srcPath, destPath);
|
|
40
|
+
} else {
|
|
41
|
+
fs.copyFileSync(srcPath, destPath);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
function copyPdfJsFiles(targetDir, force = false) {
|
|
47
|
+
try {
|
|
48
|
+
if (!force) {
|
|
49
|
+
const currentVersion2 = getPdfjsVersion();
|
|
50
|
+
const savedVersion = getSavedVersion(targetDir);
|
|
51
|
+
if (currentVersion2 === savedVersion && fs.existsSync(targetDir)) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const pdfjsPath = path.dirname(__require.resolve("pdfjs-dist/package.json"));
|
|
56
|
+
fs.mkdirSync(targetDir, { recursive: true });
|
|
57
|
+
const buildSrc = path.join(pdfjsPath, "build");
|
|
58
|
+
const buildDest = path.join(targetDir, "build");
|
|
59
|
+
if (!copyDirectory(buildSrc, buildDest)) {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
const webSrc = path.join(pdfjsPath, "web");
|
|
63
|
+
const webDest = path.join(targetDir, "web");
|
|
64
|
+
if (!copyDirectory(webSrc, webDest)) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
const customViewerSrc = path.join(__dirname, "..", "..", "assets", "viewer.html");
|
|
68
|
+
const customViewerDest = path.join(webDest, "viewer.html");
|
|
69
|
+
if (fs.existsSync(customViewerSrc)) {
|
|
70
|
+
fs.copyFileSync(customViewerSrc, customViewerDest);
|
|
71
|
+
} else {
|
|
72
|
+
console.error("\u26A0\uFE0F Custom viewer.html template not found in package assets");
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
const currentVersion = getPdfjsVersion();
|
|
76
|
+
const versionFile = path.join(targetDir, ".version");
|
|
77
|
+
fs.writeFileSync(versionFile, currentVersion, "utf8");
|
|
78
|
+
return true;
|
|
79
|
+
} catch (error) {
|
|
80
|
+
console.error("Failed to copy PDF.js files:", error);
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
function signiphiPdfJs(options = {}) {
|
|
85
|
+
const {
|
|
86
|
+
targetDir = "public/pdfjs",
|
|
87
|
+
force = false,
|
|
88
|
+
copyOnDev = true,
|
|
89
|
+
copyOnBuild = true
|
|
90
|
+
} = options;
|
|
91
|
+
let resolvedTargetDir;
|
|
92
|
+
let copied = false;
|
|
93
|
+
return {
|
|
94
|
+
name: "signiphi-pdfjs",
|
|
95
|
+
configResolved(config) {
|
|
96
|
+
resolvedTargetDir = path.resolve(config.root, targetDir);
|
|
97
|
+
},
|
|
98
|
+
buildStart() {
|
|
99
|
+
if (!copied && copyOnBuild) {
|
|
100
|
+
const didCopy = copyPdfJsFiles(resolvedTargetDir, force);
|
|
101
|
+
if (didCopy) {
|
|
102
|
+
console.log("\u2713 PDF.js files copied to", resolvedTargetDir);
|
|
103
|
+
copied = true;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
configureServer() {
|
|
108
|
+
if (copyOnDev) {
|
|
109
|
+
const didCopy = copyPdfJsFiles(resolvedTargetDir, force);
|
|
110
|
+
if (didCopy) {
|
|
111
|
+
console.log("\u2713 PDF.js files copied to", resolvedTargetDir);
|
|
112
|
+
copied = true;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
function getPdfjsVersion2() {
|
|
119
|
+
try {
|
|
120
|
+
const packageJsonPath = __require.resolve("pdfjs-dist/package.json");
|
|
121
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
|
|
122
|
+
return packageJson.version;
|
|
123
|
+
} catch (error) {
|
|
124
|
+
return "unknown";
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
function getSavedVersion2(targetDir) {
|
|
128
|
+
try {
|
|
129
|
+
const versionFile = path.join(targetDir, ".version");
|
|
130
|
+
if (fs.existsSync(versionFile)) {
|
|
131
|
+
return fs.readFileSync(versionFile, "utf8").trim();
|
|
132
|
+
}
|
|
133
|
+
} catch (error) {
|
|
134
|
+
}
|
|
135
|
+
return null;
|
|
136
|
+
}
|
|
137
|
+
function copyDirectory2(src, dest) {
|
|
138
|
+
if (!fs.existsSync(src)) {
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
fs.mkdirSync(dest, { recursive: true });
|
|
142
|
+
const entries = fs.readdirSync(src, { withFileTypes: true });
|
|
143
|
+
for (const entry of entries) {
|
|
144
|
+
const srcPath = path.join(src, entry.name);
|
|
145
|
+
const destPath = path.join(dest, entry.name);
|
|
146
|
+
if (entry.isDirectory()) {
|
|
147
|
+
copyDirectory2(srcPath, destPath);
|
|
148
|
+
} else {
|
|
149
|
+
fs.copyFileSync(srcPath, destPath);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return true;
|
|
153
|
+
}
|
|
154
|
+
function copyPdfJsFiles2(targetDir, force = false) {
|
|
155
|
+
try {
|
|
156
|
+
if (!force) {
|
|
157
|
+
const currentVersion2 = getPdfjsVersion2();
|
|
158
|
+
const savedVersion = getSavedVersion2(targetDir);
|
|
159
|
+
if (currentVersion2 === savedVersion && fs.existsSync(targetDir)) {
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
const pdfjsPath = path.dirname(__require.resolve("pdfjs-dist/package.json"));
|
|
164
|
+
fs.mkdirSync(targetDir, { recursive: true });
|
|
165
|
+
const buildSrc = path.join(pdfjsPath, "build");
|
|
166
|
+
const buildDest = path.join(targetDir, "build");
|
|
167
|
+
if (!copyDirectory2(buildSrc, buildDest)) {
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
const webSrc = path.join(pdfjsPath, "web");
|
|
171
|
+
const webDest = path.join(targetDir, "web");
|
|
172
|
+
if (!copyDirectory2(webSrc, webDest)) {
|
|
173
|
+
return false;
|
|
174
|
+
}
|
|
175
|
+
const customViewerSrc = path.join(__dirname, "..", "..", "assets", "viewer.html");
|
|
176
|
+
const customViewerDest = path.join(webDest, "viewer.html");
|
|
177
|
+
if (fs.existsSync(customViewerSrc)) {
|
|
178
|
+
fs.copyFileSync(customViewerSrc, customViewerDest);
|
|
179
|
+
} else {
|
|
180
|
+
console.error("\u26A0\uFE0F Custom viewer.html template not found in package assets");
|
|
181
|
+
return false;
|
|
182
|
+
}
|
|
183
|
+
const currentVersion = getPdfjsVersion2();
|
|
184
|
+
const versionFile = path.join(targetDir, ".version");
|
|
185
|
+
fs.writeFileSync(versionFile, currentVersion, "utf8");
|
|
186
|
+
return true;
|
|
187
|
+
} catch (error) {
|
|
188
|
+
console.error("Failed to copy PDF.js files:", error);
|
|
189
|
+
return false;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
function withSigniphiPdfJs(nextConfig = {}, options = {}) {
|
|
193
|
+
const {
|
|
194
|
+
targetDir = "public/pdfjs",
|
|
195
|
+
force = false
|
|
196
|
+
} = options;
|
|
197
|
+
const resolvedTargetDir = path.resolve(process.cwd(), targetDir);
|
|
198
|
+
const didCopy = copyPdfJsFiles2(resolvedTargetDir, force);
|
|
199
|
+
if (didCopy) {
|
|
200
|
+
console.log("\u2713 PDF.js files copied to", resolvedTargetDir);
|
|
201
|
+
}
|
|
202
|
+
return {
|
|
203
|
+
...nextConfig,
|
|
204
|
+
webpack: (config, context) => {
|
|
205
|
+
if (context.isServer && !context.dev) {
|
|
206
|
+
copyPdfJsFiles2(resolvedTargetDir, force);
|
|
207
|
+
}
|
|
208
|
+
if (typeof nextConfig.webpack === "function") {
|
|
209
|
+
return nextConfig.webpack(config, context);
|
|
210
|
+
}
|
|
211
|
+
return config;
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
export { signiphiPdfJs, withSigniphiPdfJs };
|
|
217
|
+
//# sourceMappingURL=index.mjs.map
|
|
218
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/integrations/vite-plugin.ts","../../src/integrations/next-config.ts"],"names":["currentVersion","getPdfjsVersion","fs2","getSavedVersion","path2","copyDirectory","copyPdfJsFiles"],"mappings":"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","file":"index.mjs","sourcesContent":["/**\r\n * Vite plugin for @signiphi/pdf-signer\r\n * Automatically copies PDF.js viewer files during build\r\n */\r\n\r\nimport * as fs from 'fs';\r\nimport * as path from 'path';\r\n\r\n// Type definitions for Vite plugin (avoids requiring vite as a dependency)\r\ninterface ViteConfig {\r\n root: string;\r\n}\r\n\r\ninterface Plugin {\r\n name: string;\r\n configResolved?: (config: ViteConfig) => void;\r\n buildStart?: () => void;\r\n configureServer?: () => void;\r\n}\r\n\r\ninterface signiphiPdfJsPluginOptions {\r\n /**\r\n * Target directory for PDF.js files (default: 'public/pdfjs')\r\n */\r\n targetDir?: string;\r\n\r\n /**\r\n * Whether to force copy even if files exist (default: false)\r\n */\r\n force?: boolean;\r\n\r\n /**\r\n * Whether to copy on dev server start (default: true)\r\n */\r\n copyOnDev?: boolean;\r\n\r\n /**\r\n * Whether to copy on build (default: true)\r\n */\r\n copyOnBuild?: boolean;\r\n}\r\n\r\n/**\r\n * Get the pdfjs-dist version from package.json\r\n */\r\nfunction getPdfjsVersion(): string {\r\n try {\r\n const packageJsonPath = require.resolve('pdfjs-dist/package.json');\r\n const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));\r\n return packageJson.version;\r\n } catch (error) {\r\n return 'unknown';\r\n }\r\n}\r\n\r\n/**\r\n * Get saved version from target directory\r\n */\r\nfunction getSavedVersion(targetDir: string): string | null {\r\n try {\r\n const versionFile = path.join(targetDir, '.version');\r\n if (fs.existsSync(versionFile)) {\r\n return fs.readFileSync(versionFile, 'utf8').trim();\r\n }\r\n } catch (error) {\r\n // Ignore\r\n }\r\n return null;\r\n}\r\n\r\n/**\r\n * Copy a directory recursively\r\n */\r\nfunction copyDirectory(src: string, dest: string): boolean {\r\n if (!fs.existsSync(src)) {\r\n return false;\r\n }\r\n\r\n fs.mkdirSync(dest, { recursive: true });\r\n \r\n const entries = fs.readdirSync(src, { withFileTypes: true });\r\n \r\n for (const entry of entries) {\r\n const srcPath = path.join(src, entry.name);\r\n const destPath = path.join(dest, entry.name);\r\n \r\n if (entry.isDirectory()) {\r\n copyDirectory(srcPath, destPath);\r\n } else {\r\n fs.copyFileSync(srcPath, destPath);\r\n }\r\n }\r\n \r\n return true;\r\n}\r\n\r\n/**\r\n * Copy PDF.js files\r\n */\r\nfunction copyPdfJsFiles(targetDir: string, force: boolean = false): boolean {\r\n try {\r\n // Check if already up to date\r\n if (!force) {\r\n const currentVersion = getPdfjsVersion();\r\n const savedVersion = getSavedVersion(targetDir);\r\n \r\n if (currentVersion === savedVersion && fs.existsSync(targetDir)) {\r\n return false; // Already up to date\r\n }\r\n }\r\n \r\n // Find pdfjs-dist\r\n const pdfjsPath = path.dirname(require.resolve('pdfjs-dist/package.json'));\r\n \r\n // Create target directory\r\n fs.mkdirSync(targetDir, { recursive: true });\r\n \r\n // Copy build directory\r\n const buildSrc = path.join(pdfjsPath, 'build');\r\n const buildDest = path.join(targetDir, 'build');\r\n if (!copyDirectory(buildSrc, buildDest)) {\r\n return false;\r\n }\r\n \r\n // Copy web directory\r\n const webSrc = path.join(pdfjsPath, 'web');\r\n const webDest = path.join(targetDir, 'web');\r\n if (!copyDirectory(webSrc, webDest)) {\r\n return false;\r\n }\r\n\r\n // Copy custom viewer.html from our package assets\r\n // PDF.js 5.x no longer includes viewer.html, so we provide our own\r\n const customViewerSrc = path.join(__dirname, '..', '..', 'assets', 'viewer.html');\r\n const customViewerDest = path.join(webDest, 'viewer.html');\r\n\r\n if (fs.existsSync(customViewerSrc)) {\r\n fs.copyFileSync(customViewerSrc, customViewerDest);\r\n } else {\r\n console.error('⚠️ Custom viewer.html template not found in package assets');\r\n return false;\r\n }\r\n\r\n // Write version file\r\n const currentVersion = getPdfjsVersion();\r\n const versionFile = path.join(targetDir, '.version');\r\n fs.writeFileSync(versionFile, currentVersion, 'utf8');\r\n\r\n return true;\r\n } catch (error) {\r\n console.error('Failed to copy PDF.js files:', error);\r\n return false;\r\n }\r\n}\r\n\r\n/**\r\n * Vite plugin for automatic PDF.js setup\r\n * \r\n * @example\r\n * ```typescript\r\n * // vite.config.ts\r\n * import { defineConfig } from 'vite';\r\n * import { signiphiPdfJs } from '@signiphi/pdf-signer/vite';\r\n * \r\n * export default defineConfig({\r\n * plugins: [signiphiPdfJs()],\r\n * });\r\n * ```\r\n */\r\nexport function signiphiPdfJs(options: signiphiPdfJsPluginOptions = {}): Plugin {\r\n const {\r\n targetDir = 'public/pdfjs',\r\n force = false,\r\n copyOnDev = true,\r\n copyOnBuild = true,\r\n } = options;\r\n\r\n let resolvedTargetDir: string;\r\n let copied = false;\r\n\r\n return {\r\n name: 'signiphi-pdfjs',\r\n \r\n configResolved(config) {\r\n // Resolve target directory relative to project root\r\n resolvedTargetDir = path.resolve(config.root, targetDir);\r\n },\r\n \r\n buildStart() {\r\n if (!copied && copyOnBuild) {\r\n const didCopy = copyPdfJsFiles(resolvedTargetDir, force);\r\n if (didCopy) {\r\n console.log('✓ PDF.js files copied to', resolvedTargetDir);\r\n copied = true;\r\n }\r\n }\r\n },\r\n \r\n configureServer() {\r\n if (copyOnDev) {\r\n const didCopy = copyPdfJsFiles(resolvedTargetDir, force);\r\n if (didCopy) {\r\n console.log('✓ PDF.js files copied to', resolvedTargetDir);\r\n copied = true;\r\n }\r\n }\r\n },\r\n };\r\n}\r\n\r\n","/**\r\n * Next.js configuration helper for @signiphi/pdf-signer\r\n * Automatically copies PDF.js viewer files during build\r\n */\r\n\r\nimport * as fs from 'fs';\r\nimport * as path from 'path';\r\n\r\ninterface signiphiPdfJsOptions {\r\n /**\r\n * Target directory for PDF.js files (default: 'public/pdfjs')\r\n */\r\n targetDir?: string;\r\n\r\n /**\r\n * Whether to force copy even if files exist (default: false)\r\n */\r\n force?: boolean;\r\n}\r\n\r\n/**\r\n * Get the pdfjs-dist version from package.json\r\n */\r\nfunction getPdfjsVersion(): string {\r\n try {\r\n const packageJsonPath = require.resolve('pdfjs-dist/package.json');\r\n const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));\r\n return packageJson.version;\r\n } catch (error) {\r\n return 'unknown';\r\n }\r\n}\r\n\r\n/**\r\n * Get saved version from target directory\r\n */\r\nfunction getSavedVersion(targetDir: string): string | null {\r\n try {\r\n const versionFile = path.join(targetDir, '.version');\r\n if (fs.existsSync(versionFile)) {\r\n return fs.readFileSync(versionFile, 'utf8').trim();\r\n }\r\n } catch (error) {\r\n // Ignore\r\n }\r\n return null;\r\n}\r\n\r\n/**\r\n * Copy a directory recursively\r\n */\r\nfunction copyDirectory(src: string, dest: string): boolean {\r\n if (!fs.existsSync(src)) {\r\n return false;\r\n }\r\n\r\n fs.mkdirSync(dest, { recursive: true });\r\n \r\n const entries = fs.readdirSync(src, { withFileTypes: true });\r\n \r\n for (const entry of entries) {\r\n const srcPath = path.join(src, entry.name);\r\n const destPath = path.join(dest, entry.name);\r\n \r\n if (entry.isDirectory()) {\r\n copyDirectory(srcPath, destPath);\r\n } else {\r\n fs.copyFileSync(srcPath, destPath);\r\n }\r\n }\r\n \r\n return true;\r\n}\r\n\r\n/**\r\n * Copy PDF.js files\r\n */\r\nfunction copyPdfJsFiles(targetDir: string, force: boolean = false): boolean {\r\n try {\r\n // Check if already up to date\r\n if (!force) {\r\n const currentVersion = getPdfjsVersion();\r\n const savedVersion = getSavedVersion(targetDir);\r\n \r\n if (currentVersion === savedVersion && fs.existsSync(targetDir)) {\r\n return false; // Already up to date\r\n }\r\n }\r\n \r\n // Find pdfjs-dist\r\n const pdfjsPath = path.dirname(require.resolve('pdfjs-dist/package.json'));\r\n \r\n // Create target directory\r\n fs.mkdirSync(targetDir, { recursive: true });\r\n \r\n // Copy build directory\r\n const buildSrc = path.join(pdfjsPath, 'build');\r\n const buildDest = path.join(targetDir, 'build');\r\n if (!copyDirectory(buildSrc, buildDest)) {\r\n return false;\r\n }\r\n \r\n // Copy web directory\r\n const webSrc = path.join(pdfjsPath, 'web');\r\n const webDest = path.join(targetDir, 'web');\r\n if (!copyDirectory(webSrc, webDest)) {\r\n return false;\r\n }\r\n\r\n // Copy custom viewer.html from our package assets\r\n // PDF.js 5.x no longer includes viewer.html, so we provide our own\r\n const customViewerSrc = path.join(__dirname, '..', '..', 'assets', 'viewer.html');\r\n const customViewerDest = path.join(webDest, 'viewer.html');\r\n\r\n if (fs.existsSync(customViewerSrc)) {\r\n fs.copyFileSync(customViewerSrc, customViewerDest);\r\n } else {\r\n console.error('⚠️ Custom viewer.html template not found in package assets');\r\n return false;\r\n }\r\n\r\n // Write version file\r\n const currentVersion = getPdfjsVersion();\r\n const versionFile = path.join(targetDir, '.version');\r\n fs.writeFileSync(versionFile, currentVersion, 'utf8');\r\n\r\n return true;\r\n } catch (error) {\r\n console.error('Failed to copy PDF.js files:', error);\r\n return false;\r\n }\r\n}\r\n\r\n/**\r\n * Next.js configuration wrapper for automatic PDF.js setup\r\n * \r\n * @example\r\n * ```javascript\r\n * // next.config.js\r\n * const { withSigniphiPdfJs } = require('@signiphi/pdf-signer/next');\r\n * \r\n * module.exports = withSigniphiPdfJs({\r\n * // your next.js config\r\n * });\r\n * ```\r\n * \r\n * @example\r\n * ```javascript\r\n * // next.config.js with options\r\n * const { withSigniphiPdfJs } = require('@signiphi/pdf-signer/next');\r\n * \r\n * module.exports = withSigniphiPdfJs(\r\n * {\r\n * // your next.js config\r\n * },\r\n * {\r\n * targetDir: 'public/pdfjs',\r\n * force: false,\r\n * }\r\n * );\r\n * ```\r\n */\r\nexport function withSigniphiPdfJs(\r\n nextConfig: any = {},\r\n options: signiphiPdfJsOptions = {}\r\n) {\r\n const {\r\n targetDir = 'public/pdfjs',\r\n force = false,\r\n } = options;\r\n\r\n // Copy files on config load\r\n const resolvedTargetDir = path.resolve(process.cwd(), targetDir);\r\n const didCopy = copyPdfJsFiles(resolvedTargetDir, force);\r\n if (didCopy) {\r\n console.log('✓ PDF.js files copied to', resolvedTargetDir);\r\n }\r\n\r\n // Return the original config (or wrap it if needed)\r\n return {\r\n ...nextConfig,\r\n webpack: (config: any, context: any) => {\r\n // Copy files during webpack build as well\r\n if (context.isServer && !context.dev) {\r\n copyPdfJsFiles(resolvedTargetDir, force);\r\n }\r\n\r\n // Call user's webpack config if provided\r\n if (typeof nextConfig.webpack === 'function') {\r\n return nextConfig.webpack(config, context);\r\n }\r\n\r\n return config;\r\n },\r\n };\r\n}\r\n\r\n"]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Next.js configuration helper for @signiphi/pdf-signer
|
|
3
|
+
* Automatically copies PDF.js viewer files during build
|
|
4
|
+
*/
|
|
5
|
+
interface signiphiPdfJsOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Target directory for PDF.js files (default: 'public/pdfjs')
|
|
8
|
+
*/
|
|
9
|
+
targetDir?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Whether to force copy even if files exist (default: false)
|
|
12
|
+
*/
|
|
13
|
+
force?: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Next.js configuration wrapper for automatic PDF.js setup
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```javascript
|
|
20
|
+
* // next.config.js
|
|
21
|
+
* const { withSigniphiPdfJs } = require('@signiphi/pdf-signer/next');
|
|
22
|
+
*
|
|
23
|
+
* module.exports = withSigniphiPdfJs({
|
|
24
|
+
* // your next.js config
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```javascript
|
|
30
|
+
* // next.config.js with options
|
|
31
|
+
* const { withSigniphiPdfJs } = require('@signiphi/pdf-signer/next');
|
|
32
|
+
*
|
|
33
|
+
* module.exports = withSigniphiPdfJs(
|
|
34
|
+
* {
|
|
35
|
+
* // your next.js config
|
|
36
|
+
* },
|
|
37
|
+
* {
|
|
38
|
+
* targetDir: 'public/pdfjs',
|
|
39
|
+
* force: false,
|
|
40
|
+
* }
|
|
41
|
+
* );
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export declare function withSigniphiPdfJs(nextConfig?: any, options?: signiphiPdfJsOptions): any;
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=next-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"next-config.d.ts","sourceRoot":"","sources":["../../src/integrations/next-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,UAAU,oBAAoB;IAC5B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAmHD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,GAAE,GAAQ,EACpB,OAAO,GAAE,oBAAyB,OA+BnC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vite plugin for @signiphi/pdf-signer
|
|
3
|
+
* Automatically copies PDF.js viewer files during build
|
|
4
|
+
*/
|
|
5
|
+
interface ViteConfig {
|
|
6
|
+
root: string;
|
|
7
|
+
}
|
|
8
|
+
interface Plugin {
|
|
9
|
+
name: string;
|
|
10
|
+
configResolved?: (config: ViteConfig) => void;
|
|
11
|
+
buildStart?: () => void;
|
|
12
|
+
configureServer?: () => void;
|
|
13
|
+
}
|
|
14
|
+
interface signiphiPdfJsPluginOptions {
|
|
15
|
+
/**
|
|
16
|
+
* Target directory for PDF.js files (default: 'public/pdfjs')
|
|
17
|
+
*/
|
|
18
|
+
targetDir?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Whether to force copy even if files exist (default: false)
|
|
21
|
+
*/
|
|
22
|
+
force?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Whether to copy on dev server start (default: true)
|
|
25
|
+
*/
|
|
26
|
+
copyOnDev?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Whether to copy on build (default: true)
|
|
29
|
+
*/
|
|
30
|
+
copyOnBuild?: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Vite plugin for automatic PDF.js setup
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* // vite.config.ts
|
|
38
|
+
* import { defineConfig } from 'vite';
|
|
39
|
+
* import { signiphiPdfJs } from '@signiphi/pdf-signer/vite';
|
|
40
|
+
*
|
|
41
|
+
* export default defineConfig({
|
|
42
|
+
* plugins: [signiphiPdfJs()],
|
|
43
|
+
* });
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export declare function signiphiPdfJs(options?: signiphiPdfJsPluginOptions): Plugin;
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=vite-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../../src/integrations/vite-plugin.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,MAAM;IACd,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,UAAU,0BAA0B;IAClC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAmHD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,0BAA+B,GAAG,MAAM,CAuC9E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,MAAM,CAAC"}
|