Skip to content

Commit 92edd04

Browse files
committed
Fix loadGlobals to use correct UMD global name
The UMD build exports to window.jspdf (lowercase), not window.jsPDF. Updated loadGlobals to: 1. Read from window.jspdf (the UMD export) 2. Set up window.jsPDF (capitalized, for backward compatibility) 3. Set up all other globals from window.jspdf This matches the actual UMD pattern: (global.jspdf = {}, factory(global.jspdf)) Where jspdf.jsPDF is the constructor.
1 parent dd1fe9c commit 92edd04

File tree

2 files changed

+36
-34
lines changed

2 files changed

+36
-34
lines changed

test/deployment/esm/loadGlobals.ts

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
1-
// UMD build sets up window.jsPDF automatically
2-
// This function just sets up the AcroForm aliases for backward compatibility
1+
// UMD build exports to window.jspdf (lowercase)
2+
// This function sets up the backward-compatible globals
33
window.loadGlobals = async function loadGlobals() {
4-
if (window.AcroForm && window.Canvg) {
4+
if (window.jsPDF && window.Canvg) {
55
return; // Already initialized
66
}
77

8-
// Set up AcroForm aliases from the jsPDF global
9-
const jsPDF = window.jsPDF;
10-
window.AcroForm = jsPDF.AcroForm;
11-
window.ChoiceField = jsPDF.AcroFormChoiceField;
12-
window.ListBox = jsPDF.AcroFormListBox;
13-
window.ComboBox = jsPDF.AcroFormComboBox;
14-
window.EditBox = jsPDF.AcroFormEditBox;
15-
window.Button = jsPDF.AcroFormButton;
16-
window.PushButton = jsPDF.AcroFormPushButton;
17-
window.RadioButton = jsPDF.AcroFormRadioButton;
18-
window.CheckBox = jsPDF.AcroFormCheckBox;
19-
window.TextField = jsPDF.AcroFormTextField;
20-
window.PasswordField = jsPDF.AcroFormPasswordField;
21-
window.Appearance = jsPDF.AcroFormAppearance;
8+
// UMD exports to window.jspdf (lowercase), so we set up window.jsPDF (capitalized)
9+
const jspdf = window.jspdf;
10+
window.jsPDF = jspdf.jsPDF;
11+
window.AcroForm = jspdf.AcroForm;
12+
window.ChoiceField = jspdf.AcroFormChoiceField;
13+
window.ListBox = jspdf.AcroFormListBox;
14+
window.ComboBox = jspdf.AcroFormComboBox;
15+
window.EditBox = jspdf.AcroFormEditBox;
16+
window.Button = jspdf.AcroFormButton;
17+
window.PushButton = jspdf.AcroFormPushButton;
18+
window.RadioButton = jspdf.AcroFormRadioButton;
19+
window.CheckBox = jspdf.AcroFormCheckBox;
20+
window.TextField = jspdf.AcroFormTextField;
21+
window.PasswordField = jspdf.AcroFormPasswordField;
22+
window.Appearance = jspdf.AcroFormAppearance;
2223

2324
// Set up Canvg global
2425
window.Canvg = window.canvg.Canvg;

test/unit/loadGlobals.ts

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
1-
// UMD build sets up window.jsPDF automatically
2-
// This function just sets up the AcroForm aliases for backward compatibility
1+
// UMD build exports to window.jspdf (lowercase)
2+
// This function sets up the backward-compatible globals
33
window.loadGlobals = async function loadGlobals() {
4-
if (window.AcroForm && window.Canvg) {
4+
if (window.jsPDF && window.Canvg) {
55
return; // Already initialized
66
}
77

8-
// Set up AcroForm aliases from the jsPDF global
9-
const jsPDF = window.jsPDF;
10-
window.AcroForm = jsPDF.AcroForm;
11-
window.ChoiceField = jsPDF.AcroFormChoiceField;
12-
window.ListBox = jsPDF.AcroFormListBox;
13-
window.ComboBox = jsPDF.AcroFormComboBox;
14-
window.EditBox = jsPDF.AcroFormEditBox;
15-
window.Button = jsPDF.AcroFormButton;
16-
window.PushButton = jsPDF.AcroFormPushButton;
17-
window.RadioButton = jsPDF.AcroFormRadioButton;
18-
window.CheckBox = jsPDF.AcroFormCheckBox;
19-
window.TextField = jsPDF.AcroFormTextField;
20-
window.PasswordField = jsPDF.AcroFormPasswordField;
21-
window.Appearance = jsPDF.AcroFormAppearance;
8+
// UMD exports to window.jspdf (lowercase), so we set up window.jsPDF (capitalized)
9+
const jspdf = window.jspdf;
10+
window.jsPDF = jspdf.jsPDF;
11+
window.AcroForm = jspdf.AcroForm;
12+
window.ChoiceField = jspdf.AcroFormChoiceField;
13+
window.ListBox = jspdf.AcroFormListBox;
14+
window.ComboBox = jspdf.AcroFormComboBox;
15+
window.EditBox = jspdf.AcroFormEditBox;
16+
window.Button = jspdf.AcroFormButton;
17+
window.PushButton = jspdf.AcroFormPushButton;
18+
window.RadioButton = jspdf.AcroFormRadioButton;
19+
window.CheckBox = jspdf.AcroFormCheckBox;
20+
window.TextField = jspdf.AcroFormTextField;
21+
window.PasswordField = jspdf.AcroFormPasswordField;
22+
window.Appearance = jspdf.AcroFormAppearance;
2223

2324
// Set up Canvg global
2425
window.Canvg = window.canvg.Canvg;

0 commit comments

Comments
 (0)