shiveshnavin commited on
Commit
3dcc61d
·
1 Parent(s): 5f72dc7

Add image2pdf

Browse files
Files changed (3) hide show
  1. package-lock.json +324 -0
  2. package.json +4 -0
  3. scripts/img2pdf.js +42 -0
package-lock.json CHANGED
@@ -24,6 +24,7 @@
24
  "@types/web": "^0.0.86",
25
  "axios": "^1.4.0",
26
  "body-parser": "^1.20.2",
 
27
  "common-utils": "file:common-utils",
28
  "express": "^4.18.2",
29
  "ffbinaries": "^1.1.5",
@@ -37,6 +38,7 @@
37
  "multi-db-orm": "^1.3.0",
38
  "npm": "^9.8.1",
39
  "path": "^0.12.7",
 
40
  "puppeteer": "^21.3.6",
41
  "react": "^18.0.0",
42
  "react-dom": "^18.0.0",
@@ -4913,6 +4915,19 @@
4913
  "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
4914
  "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
4915
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
4916
  "node_modules/@tootallnate/once": {
4917
  "version": "2.0.0",
4918
  "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
@@ -6128,6 +6143,14 @@
6128
  "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
6129
  "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
6130
  },
 
 
 
 
 
 
 
 
6131
  "node_modules/array-buffer-byte-length": {
6132
  "version": "1.0.0",
6133
  "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
@@ -6582,6 +6605,14 @@
6582
  "node": ">=8"
6583
  }
6584
  },
 
 
 
 
 
 
 
 
6585
  "node_modules/browserslist": {
6586
  "version": "4.21.9",
6587
  "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz",
@@ -6898,6 +6929,14 @@
6898
  "node": ">=12"
6899
  }
6900
  },
 
 
 
 
 
 
 
 
6901
  "node_modules/color-convert": {
6902
  "version": "2.0.1",
6903
  "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -6941,6 +6980,20 @@
6941
  "node": ">= 0.8"
6942
  }
6943
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6944
  "node_modules/commander": {
6945
  "version": "4.1.1",
6946
  "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
@@ -7234,6 +7287,11 @@
7234
  "node": ">= 8"
7235
  }
7236
  },
 
 
 
 
 
7237
  "node_modules/crypto-random-string": {
7238
  "version": "2.0.0",
7239
  "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
@@ -7644,6 +7702,11 @@
7644
  "node": ">=8"
7645
  }
7646
  },
 
 
 
 
 
7647
  "node_modules/dicer": {
7648
  "version": "0.3.1",
7649
  "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.1.tgz",
@@ -8928,6 +8991,17 @@
8928
  "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
8929
  "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
8930
  },
 
 
 
 
 
 
 
 
 
 
 
8931
  "node_modules/find-up": {
8932
  "version": "5.0.0",
8933
  "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -9085,6 +9159,22 @@
9085
  }
9086
  }
9087
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9088
  "node_modules/for-each": {
9089
  "version": "0.3.3",
9090
  "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
@@ -10632,6 +10722,11 @@
10632
  "url": "https://github.com/sponsors/panva"
10633
  }
10634
  },
 
 
 
 
 
10635
  "node_modules/js-tokens": {
10636
  "version": "4.0.0",
10637
  "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -10941,6 +11036,23 @@
10941
  "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz",
10942
  "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA=="
10943
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10944
  "node_modules/lines-and-columns": {
10945
  "version": "1.2.4",
10946
  "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
@@ -16277,6 +16389,11 @@
16277
  "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz",
16278
  "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg=="
16279
  },
 
 
 
 
 
16280
  "node_modules/parent-module": {
16281
  "version": "1.0.1",
16282
  "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -16365,6 +16482,18 @@
16365
  "node": ">=8"
16366
  }
16367
  },
 
 
 
 
 
 
 
 
 
 
 
 
16368
  "node_modules/pend": {
16369
  "version": "1.2.0",
16370
  "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
@@ -16431,6 +16560,11 @@
16431
  "node": ">=4"
16432
  }
16433
  },
 
 
 
 
 
16434
  "node_modules/postcss": {
16435
  "version": "8.4.27",
16436
  "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz",
@@ -18003,6 +18137,11 @@
18003
  "node": ">=4"
18004
  }
18005
  },
 
 
 
 
 
18006
  "node_modules/retry": {
18007
  "version": "0.13.1",
18008
  "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
@@ -19124,6 +19263,11 @@
19124
  "readable-stream": "2 || 3"
19125
  }
19126
  },
 
 
 
 
 
19127
  "node_modules/tmp": {
19128
  "version": "0.2.1",
19129
  "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
@@ -19496,6 +19640,14 @@
19496
  "node": ">=4.2.0"
19497
  }
19498
  },
 
 
 
 
 
 
 
 
19499
  "node_modules/uc.micro": {
19500
  "version": "1.0.6",
19501
  "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
@@ -19571,6 +19723,15 @@
19571
  "node": ">=4"
19572
  }
19573
  },
 
 
 
 
 
 
 
 
 
19574
  "node_modules/unicode-property-aliases-ecmascript": {
19575
  "version": "2.1.0",
19576
  "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
@@ -19579,6 +19740,15 @@
19579
  "node": ">=4"
19580
  }
19581
  },
 
 
 
 
 
 
 
 
 
19582
  "node_modules/unique-filename": {
19583
  "version": "1.1.1",
19584
  "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
@@ -23293,6 +23463,21 @@
23293
  "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
23294
  "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
23295
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23296
  "@tootallnate/once": {
23297
  "version": "2.0.0",
23298
  "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
@@ -24309,6 +24494,11 @@
24309
  "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
24310
  "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
24311
  },
 
 
 
 
 
24312
  "array-buffer-byte-length": {
24313
  "version": "1.0.0",
24314
  "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
@@ -24652,6 +24842,14 @@
24652
  "fill-range": "^7.0.1"
24653
  }
24654
  },
 
 
 
 
 
 
 
 
24655
  "browserslist": {
24656
  "version": "4.21.9",
24657
  "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz",
@@ -24854,6 +25052,11 @@
24854
  "wrap-ansi": "^7.0.0"
24855
  }
24856
  },
 
 
 
 
 
24857
  "color-convert": {
24858
  "version": "2.0.1",
24859
  "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -24885,6 +25088,17 @@
24885
  "delayed-stream": "~1.0.0"
24886
  }
24887
  },
 
 
 
 
 
 
 
 
 
 
 
24888
  "commander": {
24889
  "version": "4.1.1",
24890
  "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
@@ -25128,6 +25342,11 @@
25128
  }
25129
  }
25130
  },
 
 
 
 
 
25131
  "crypto-random-string": {
25132
  "version": "2.0.0",
25133
  "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
@@ -25395,6 +25614,11 @@
25395
  "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz",
25396
  "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw=="
25397
  },
 
 
 
 
 
25398
  "dicer": {
25399
  "version": "0.3.1",
25400
  "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.1.tgz",
@@ -26393,6 +26617,14 @@
26393
  }
26394
  }
26395
  },
 
 
 
 
 
 
 
 
26396
  "find-up": {
26397
  "version": "5.0.0",
26398
  "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -26506,6 +26738,22 @@
26506
  "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
26507
  "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
26508
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26509
  "for-each": {
26510
  "version": "0.3.3",
26511
  "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
@@ -27623,6 +27871,11 @@
27623
  "resolved": "https://registry.npmjs.org/jose/-/jose-4.14.4.tgz",
27624
  "integrity": "sha512-j8GhLiKmUAh+dsFXlX1aJCbt5KMibuKb+d7j1JaOJG6s2UjX1PQlW+OKB/sD4a/5ZYF4RcmYmLSndOoU3Lt/3g=="
27625
  },
 
 
 
 
 
27626
  "js-tokens": {
27627
  "version": "4.0.0",
27628
  "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -27884,6 +28137,22 @@
27884
  "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz",
27885
  "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA=="
27886
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27887
  "lines-and-columns": {
27888
  "version": "1.2.4",
27889
  "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
@@ -31657,6 +31926,11 @@
31657
  }
31658
  }
31659
  },
 
 
 
 
 
31660
  "parent-module": {
31661
  "version": "1.0.1",
31662
  "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -31721,6 +31995,18 @@
31721
  "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
31722
  "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
31723
  },
 
 
 
 
 
 
 
 
 
 
 
 
31724
  "pend": {
31725
  "version": "1.2.0",
31726
  "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
@@ -31774,6 +32060,11 @@
31774
  "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
31775
  "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA=="
31776
  },
 
 
 
 
 
31777
  "postcss": {
31778
  "version": "8.4.27",
31779
  "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz",
@@ -32778,6 +33069,11 @@
32778
  "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
32779
  "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
32780
  },
 
 
 
 
 
32781
  "retry": {
32782
  "version": "0.13.1",
32783
  "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
@@ -33612,6 +33908,11 @@
33612
  "readable-stream": "2 || 3"
33613
  }
33614
  },
 
 
 
 
 
33615
  "tmp": {
33616
  "version": "0.2.1",
33617
  "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
@@ -33873,6 +34174,11 @@
33873
  "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
33874
  "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g=="
33875
  },
 
 
 
 
 
33876
  "uc.micro": {
33877
  "version": "1.0.6",
33878
  "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
@@ -33930,11 +34236,29 @@
33930
  "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz",
33931
  "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA=="
33932
  },
 
 
 
 
 
 
 
 
 
33933
  "unicode-property-aliases-ecmascript": {
33934
  "version": "2.1.0",
33935
  "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
33936
  "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w=="
33937
  },
 
 
 
 
 
 
 
 
 
33938
  "unique-filename": {
33939
  "version": "1.1.1",
33940
  "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
 
24
  "@types/web": "^0.0.86",
25
  "axios": "^1.4.0",
26
  "body-parser": "^1.20.2",
27
+ "command-line-args": "^6.0.0",
28
  "common-utils": "file:common-utils",
29
  "express": "^4.18.2",
30
  "ffbinaries": "^1.1.5",
 
38
  "multi-db-orm": "^1.3.0",
39
  "npm": "^9.8.1",
40
  "path": "^0.12.7",
41
+ "pdfkit": "^0.15.0",
42
  "puppeteer": "^21.3.6",
43
  "react": "^18.0.0",
44
  "react-dom": "^18.0.0",
 
4915
  "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
4916
  "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
4917
  },
4918
+ "node_modules/@swc/helpers": {
4919
+ "version": "0.3.17",
4920
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.3.17.tgz",
4921
+ "integrity": "sha512-tb7Iu+oZ+zWJZ3HJqwx8oNwSDIU440hmVMDPhpACWQWnrZHK99Bxs70gT1L2dnr5Hg50ZRWEFkQCAnOVVV0z1Q==",
4922
+ "dependencies": {
4923
+ "tslib": "^2.4.0"
4924
+ }
4925
+ },
4926
+ "node_modules/@swc/helpers/node_modules/tslib": {
4927
+ "version": "2.7.0",
4928
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
4929
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
4930
+ },
4931
  "node_modules/@tootallnate/once": {
4932
  "version": "2.0.0",
4933
  "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
 
6143
  "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
6144
  "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
6145
  },
6146
+ "node_modules/array-back": {
6147
+ "version": "6.2.2",
6148
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz",
6149
+ "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==",
6150
+ "engines": {
6151
+ "node": ">=12.17"
6152
+ }
6153
+ },
6154
  "node_modules/array-buffer-byte-length": {
6155
  "version": "1.0.0",
6156
  "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
 
6605
  "node": ">=8"
6606
  }
6607
  },
6608
+ "node_modules/brotli": {
6609
+ "version": "1.3.3",
6610
+ "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz",
6611
+ "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==",
6612
+ "dependencies": {
6613
+ "base64-js": "^1.1.2"
6614
+ }
6615
+ },
6616
  "node_modules/browserslist": {
6617
  "version": "4.21.9",
6618
  "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz",
 
6929
  "node": ">=12"
6930
  }
6931
  },
6932
+ "node_modules/clone": {
6933
+ "version": "2.1.2",
6934
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
6935
+ "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
6936
+ "engines": {
6937
+ "node": ">=0.8"
6938
+ }
6939
+ },
6940
  "node_modules/color-convert": {
6941
  "version": "2.0.1",
6942
  "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
 
6980
  "node": ">= 0.8"
6981
  }
6982
  },
6983
+ "node_modules/command-line-args": {
6984
+ "version": "6.0.0",
6985
+ "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-6.0.0.tgz",
6986
+ "integrity": "sha512-zDdHxHzlCp/gA1gy0VtPK3YL0Aob3ijJdwZ7H3HSl55hh8EziLtRlyj/od8EGRJfX8IjussC/mQkScl2Ms5Suw==",
6987
+ "dependencies": {
6988
+ "array-back": "^6.2.2",
6989
+ "find-replace": "^5.0.1",
6990
+ "lodash.camelcase": "^4.3.0",
6991
+ "typical": "^7.1.1"
6992
+ },
6993
+ "engines": {
6994
+ "node": ">=12.20"
6995
+ }
6996
+ },
6997
  "node_modules/commander": {
6998
  "version": "4.1.1",
6999
  "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
 
7287
  "node": ">= 8"
7288
  }
7289
  },
7290
+ "node_modules/crypto-js": {
7291
+ "version": "4.2.0",
7292
+ "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz",
7293
+ "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q=="
7294
+ },
7295
  "node_modules/crypto-random-string": {
7296
  "version": "2.0.0",
7297
  "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
 
7702
  "node": ">=8"
7703
  }
7704
  },
7705
+ "node_modules/dfa": {
7706
+ "version": "1.2.0",
7707
+ "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz",
7708
+ "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q=="
7709
+ },
7710
  "node_modules/dicer": {
7711
  "version": "0.3.1",
7712
  "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.1.tgz",
 
8991
  "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
8992
  "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
8993
  },
8994
+ "node_modules/find-replace": {
8995
+ "version": "5.0.1",
8996
+ "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-5.0.1.tgz",
8997
+ "integrity": "sha512-o5/Y8HrCNRuFF5rdNTkX8Vhv6kTFTV0t1zIoigwlCdbkA9qaapRzxvWPND2VvlFa9LBI05Q1i8ml/saMqkOJUQ==",
8998
+ "dependencies": {
8999
+ "array-back": "^6.2.2"
9000
+ },
9001
+ "engines": {
9002
+ "node": ">=14"
9003
+ }
9004
+ },
9005
  "node_modules/find-up": {
9006
  "version": "5.0.0",
9007
  "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
 
9159
  }
9160
  }
9161
  },
9162
+ "node_modules/fontkit": {
9163
+ "version": "1.9.0",
9164
+ "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-1.9.0.tgz",
9165
+ "integrity": "sha512-HkW/8Lrk8jl18kzQHvAw9aTHe1cqsyx5sDnxncx652+CIfhawokEPkeM3BoIC+z/Xv7a0yMr0f3pRRwhGH455g==",
9166
+ "dependencies": {
9167
+ "@swc/helpers": "^0.3.13",
9168
+ "brotli": "^1.3.2",
9169
+ "clone": "^2.1.2",
9170
+ "deep-equal": "^2.0.5",
9171
+ "dfa": "^1.2.0",
9172
+ "restructure": "^2.0.1",
9173
+ "tiny-inflate": "^1.0.3",
9174
+ "unicode-properties": "^1.3.1",
9175
+ "unicode-trie": "^2.0.0"
9176
+ }
9177
+ },
9178
  "node_modules/for-each": {
9179
  "version": "0.3.3",
9180
  "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
 
10722
  "url": "https://github.com/sponsors/panva"
10723
  }
10724
  },
10725
+ "node_modules/jpeg-exif": {
10726
+ "version": "1.1.4",
10727
+ "resolved": "https://registry.npmjs.org/jpeg-exif/-/jpeg-exif-1.1.4.tgz",
10728
+ "integrity": "sha512-a+bKEcCjtuW5WTdgeXFzswSrdqi0jk4XlEtZlx5A94wCoBpFjfFTbo/Tra5SpNCl/YFZPvcV1dJc+TAYeg6ROQ=="
10729
+ },
10730
  "node_modules/js-tokens": {
10731
  "version": "4.0.0",
10732
  "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
 
11036
  "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz",
11037
  "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA=="
11038
  },
11039
+ "node_modules/linebreak": {
11040
+ "version": "1.1.0",
11041
+ "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz",
11042
+ "integrity": "sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==",
11043
+ "dependencies": {
11044
+ "base64-js": "0.0.8",
11045
+ "unicode-trie": "^2.0.0"
11046
+ }
11047
+ },
11048
+ "node_modules/linebreak/node_modules/base64-js": {
11049
+ "version": "0.0.8",
11050
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz",
11051
+ "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==",
11052
+ "engines": {
11053
+ "node": ">= 0.4"
11054
+ }
11055
+ },
11056
  "node_modules/lines-and-columns": {
11057
  "version": "1.2.4",
11058
  "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
 
16389
  "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz",
16390
  "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg=="
16391
  },
16392
+ "node_modules/pako": {
16393
+ "version": "0.2.9",
16394
+ "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
16395
+ "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA=="
16396
+ },
16397
  "node_modules/parent-module": {
16398
  "version": "1.0.1",
16399
  "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
 
16482
  "node": ">=8"
16483
  }
16484
  },
16485
+ "node_modules/pdfkit": {
16486
+ "version": "0.15.0",
16487
+ "resolved": "https://registry.npmjs.org/pdfkit/-/pdfkit-0.15.0.tgz",
16488
+ "integrity": "sha512-Z0dx0sEPKLW2kbThS1SWZ0iSHlRPoFMpP+oSjNrtwRjsfGivwE+r6emyEFwQG/fx1Ri0AGUHmDcGOSMMlLLnSg==",
16489
+ "dependencies": {
16490
+ "crypto-js": "^4.2.0",
16491
+ "fontkit": "^1.8.1",
16492
+ "jpeg-exif": "^1.1.4",
16493
+ "linebreak": "^1.0.2",
16494
+ "png-js": "^1.0.0"
16495
+ }
16496
+ },
16497
  "node_modules/pend": {
16498
  "version": "1.2.0",
16499
  "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
 
16560
  "node": ">=4"
16561
  }
16562
  },
16563
+ "node_modules/png-js": {
16564
+ "version": "1.0.0",
16565
+ "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz",
16566
+ "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g=="
16567
+ },
16568
  "node_modules/postcss": {
16569
  "version": "8.4.27",
16570
  "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz",
 
18137
  "node": ">=4"
18138
  }
18139
  },
18140
+ "node_modules/restructure": {
18141
+ "version": "2.0.1",
18142
+ "resolved": "https://registry.npmjs.org/restructure/-/restructure-2.0.1.tgz",
18143
+ "integrity": "sha512-e0dOpjm5DseomnXx2M5lpdZ5zoHqF1+bqdMJUohoYVVQa7cBdnk7fdmeI6byNWP/kiME72EeTiSypTCVnpLiDg=="
18144
+ },
18145
  "node_modules/retry": {
18146
  "version": "0.13.1",
18147
  "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
 
19263
  "readable-stream": "2 || 3"
19264
  }
19265
  },
19266
+ "node_modules/tiny-inflate": {
19267
+ "version": "1.0.3",
19268
+ "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz",
19269
+ "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="
19270
+ },
19271
  "node_modules/tmp": {
19272
  "version": "0.2.1",
19273
  "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
 
19640
  "node": ">=4.2.0"
19641
  }
19642
  },
19643
+ "node_modules/typical": {
19644
+ "version": "7.1.1",
19645
+ "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz",
19646
+ "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==",
19647
+ "engines": {
19648
+ "node": ">=12.17"
19649
+ }
19650
+ },
19651
  "node_modules/uc.micro": {
19652
  "version": "1.0.6",
19653
  "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
 
19723
  "node": ">=4"
19724
  }
19725
  },
19726
+ "node_modules/unicode-properties": {
19727
+ "version": "1.4.1",
19728
+ "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz",
19729
+ "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==",
19730
+ "dependencies": {
19731
+ "base64-js": "^1.3.0",
19732
+ "unicode-trie": "^2.0.0"
19733
+ }
19734
+ },
19735
  "node_modules/unicode-property-aliases-ecmascript": {
19736
  "version": "2.1.0",
19737
  "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
 
19740
  "node": ">=4"
19741
  }
19742
  },
19743
+ "node_modules/unicode-trie": {
19744
+ "version": "2.0.0",
19745
+ "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz",
19746
+ "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==",
19747
+ "dependencies": {
19748
+ "pako": "^0.2.5",
19749
+ "tiny-inflate": "^1.0.0"
19750
+ }
19751
+ },
19752
  "node_modules/unique-filename": {
19753
  "version": "1.1.1",
19754
  "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
 
23463
  "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
23464
  "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
23465
  },
23466
+ "@swc/helpers": {
23467
+ "version": "0.3.17",
23468
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.3.17.tgz",
23469
+ "integrity": "sha512-tb7Iu+oZ+zWJZ3HJqwx8oNwSDIU440hmVMDPhpACWQWnrZHK99Bxs70gT1L2dnr5Hg50ZRWEFkQCAnOVVV0z1Q==",
23470
+ "requires": {
23471
+ "tslib": "^2.4.0"
23472
+ },
23473
+ "dependencies": {
23474
+ "tslib": {
23475
+ "version": "2.7.0",
23476
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
23477
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
23478
+ }
23479
+ }
23480
+ },
23481
  "@tootallnate/once": {
23482
  "version": "2.0.0",
23483
  "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
 
24494
  "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
24495
  "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
24496
  },
24497
+ "array-back": {
24498
+ "version": "6.2.2",
24499
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz",
24500
+ "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw=="
24501
+ },
24502
  "array-buffer-byte-length": {
24503
  "version": "1.0.0",
24504
  "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
 
24842
  "fill-range": "^7.0.1"
24843
  }
24844
  },
24845
+ "brotli": {
24846
+ "version": "1.3.3",
24847
+ "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz",
24848
+ "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==",
24849
+ "requires": {
24850
+ "base64-js": "^1.1.2"
24851
+ }
24852
+ },
24853
  "browserslist": {
24854
  "version": "4.21.9",
24855
  "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz",
 
25052
  "wrap-ansi": "^7.0.0"
25053
  }
25054
  },
25055
+ "clone": {
25056
+ "version": "2.1.2",
25057
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
25058
+ "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w=="
25059
+ },
25060
  "color-convert": {
25061
  "version": "2.0.1",
25062
  "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
 
25088
  "delayed-stream": "~1.0.0"
25089
  }
25090
  },
25091
+ "command-line-args": {
25092
+ "version": "6.0.0",
25093
+ "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-6.0.0.tgz",
25094
+ "integrity": "sha512-zDdHxHzlCp/gA1gy0VtPK3YL0Aob3ijJdwZ7H3HSl55hh8EziLtRlyj/od8EGRJfX8IjussC/mQkScl2Ms5Suw==",
25095
+ "requires": {
25096
+ "array-back": "^6.2.2",
25097
+ "find-replace": "^5.0.1",
25098
+ "lodash.camelcase": "^4.3.0",
25099
+ "typical": "^7.1.1"
25100
+ }
25101
+ },
25102
  "commander": {
25103
  "version": "4.1.1",
25104
  "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
 
25342
  }
25343
  }
25344
  },
25345
+ "crypto-js": {
25346
+ "version": "4.2.0",
25347
+ "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz",
25348
+ "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q=="
25349
+ },
25350
  "crypto-random-string": {
25351
  "version": "2.0.0",
25352
  "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
 
25614
  "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz",
25615
  "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw=="
25616
  },
25617
+ "dfa": {
25618
+ "version": "1.2.0",
25619
+ "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz",
25620
+ "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q=="
25621
+ },
25622
  "dicer": {
25623
  "version": "0.3.1",
25624
  "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.1.tgz",
 
26617
  }
26618
  }
26619
  },
26620
+ "find-replace": {
26621
+ "version": "5.0.1",
26622
+ "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-5.0.1.tgz",
26623
+ "integrity": "sha512-o5/Y8HrCNRuFF5rdNTkX8Vhv6kTFTV0t1zIoigwlCdbkA9qaapRzxvWPND2VvlFa9LBI05Q1i8ml/saMqkOJUQ==",
26624
+ "requires": {
26625
+ "array-back": "^6.2.2"
26626
+ }
26627
+ },
26628
  "find-up": {
26629
  "version": "5.0.0",
26630
  "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
 
26738
  "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
26739
  "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
26740
  },
26741
+ "fontkit": {
26742
+ "version": "1.9.0",
26743
+ "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-1.9.0.tgz",
26744
+ "integrity": "sha512-HkW/8Lrk8jl18kzQHvAw9aTHe1cqsyx5sDnxncx652+CIfhawokEPkeM3BoIC+z/Xv7a0yMr0f3pRRwhGH455g==",
26745
+ "requires": {
26746
+ "@swc/helpers": "^0.3.13",
26747
+ "brotli": "^1.3.2",
26748
+ "clone": "^2.1.2",
26749
+ "deep-equal": "^2.0.5",
26750
+ "dfa": "^1.2.0",
26751
+ "restructure": "^2.0.1",
26752
+ "tiny-inflate": "^1.0.3",
26753
+ "unicode-properties": "^1.3.1",
26754
+ "unicode-trie": "^2.0.0"
26755
+ }
26756
+ },
26757
  "for-each": {
26758
  "version": "0.3.3",
26759
  "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
 
27871
  "resolved": "https://registry.npmjs.org/jose/-/jose-4.14.4.tgz",
27872
  "integrity": "sha512-j8GhLiKmUAh+dsFXlX1aJCbt5KMibuKb+d7j1JaOJG6s2UjX1PQlW+OKB/sD4a/5ZYF4RcmYmLSndOoU3Lt/3g=="
27873
  },
27874
+ "jpeg-exif": {
27875
+ "version": "1.1.4",
27876
+ "resolved": "https://registry.npmjs.org/jpeg-exif/-/jpeg-exif-1.1.4.tgz",
27877
+ "integrity": "sha512-a+bKEcCjtuW5WTdgeXFzswSrdqi0jk4XlEtZlx5A94wCoBpFjfFTbo/Tra5SpNCl/YFZPvcV1dJc+TAYeg6ROQ=="
27878
+ },
27879
  "js-tokens": {
27880
  "version": "4.0.0",
27881
  "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
 
28137
  "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz",
28138
  "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA=="
28139
  },
28140
+ "linebreak": {
28141
+ "version": "1.1.0",
28142
+ "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz",
28143
+ "integrity": "sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==",
28144
+ "requires": {
28145
+ "base64-js": "0.0.8",
28146
+ "unicode-trie": "^2.0.0"
28147
+ },
28148
+ "dependencies": {
28149
+ "base64-js": {
28150
+ "version": "0.0.8",
28151
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz",
28152
+ "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw=="
28153
+ }
28154
+ }
28155
+ },
28156
  "lines-and-columns": {
28157
  "version": "1.2.4",
28158
  "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
 
31926
  }
31927
  }
31928
  },
31929
+ "pako": {
31930
+ "version": "0.2.9",
31931
+ "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
31932
+ "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA=="
31933
+ },
31934
  "parent-module": {
31935
  "version": "1.0.1",
31936
  "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
 
31995
  "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
31996
  "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
31997
  },
31998
+ "pdfkit": {
31999
+ "version": "0.15.0",
32000
+ "resolved": "https://registry.npmjs.org/pdfkit/-/pdfkit-0.15.0.tgz",
32001
+ "integrity": "sha512-Z0dx0sEPKLW2kbThS1SWZ0iSHlRPoFMpP+oSjNrtwRjsfGivwE+r6emyEFwQG/fx1Ri0AGUHmDcGOSMMlLLnSg==",
32002
+ "requires": {
32003
+ "crypto-js": "^4.2.0",
32004
+ "fontkit": "^1.8.1",
32005
+ "jpeg-exif": "^1.1.4",
32006
+ "linebreak": "^1.0.2",
32007
+ "png-js": "^1.0.0"
32008
+ }
32009
+ },
32010
  "pend": {
32011
  "version": "1.2.0",
32012
  "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
 
32060
  "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
32061
  "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA=="
32062
  },
32063
+ "png-js": {
32064
+ "version": "1.0.0",
32065
+ "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz",
32066
+ "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g=="
32067
+ },
32068
  "postcss": {
32069
  "version": "8.4.27",
32070
  "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz",
 
33069
  "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
33070
  "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
33071
  },
33072
+ "restructure": {
33073
+ "version": "2.0.1",
33074
+ "resolved": "https://registry.npmjs.org/restructure/-/restructure-2.0.1.tgz",
33075
+ "integrity": "sha512-e0dOpjm5DseomnXx2M5lpdZ5zoHqF1+bqdMJUohoYVVQa7cBdnk7fdmeI6byNWP/kiME72EeTiSypTCVnpLiDg=="
33076
+ },
33077
  "retry": {
33078
  "version": "0.13.1",
33079
  "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
 
33908
  "readable-stream": "2 || 3"
33909
  }
33910
  },
33911
+ "tiny-inflate": {
33912
+ "version": "1.0.3",
33913
+ "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz",
33914
+ "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="
33915
+ },
33916
  "tmp": {
33917
  "version": "0.2.1",
33918
  "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
 
34174
  "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
34175
  "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g=="
34176
  },
34177
+ "typical": {
34178
+ "version": "7.1.1",
34179
+ "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz",
34180
+ "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA=="
34181
+ },
34182
  "uc.micro": {
34183
  "version": "1.0.6",
34184
  "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
 
34236
  "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz",
34237
  "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA=="
34238
  },
34239
+ "unicode-properties": {
34240
+ "version": "1.4.1",
34241
+ "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz",
34242
+ "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==",
34243
+ "requires": {
34244
+ "base64-js": "^1.3.0",
34245
+ "unicode-trie": "^2.0.0"
34246
+ }
34247
+ },
34248
  "unicode-property-aliases-ecmascript": {
34249
  "version": "2.1.0",
34250
  "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
34251
  "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w=="
34252
  },
34253
+ "unicode-trie": {
34254
+ "version": "2.0.0",
34255
+ "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz",
34256
+ "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==",
34257
+ "requires": {
34258
+ "pako": "^0.2.5",
34259
+ "tiny-inflate": "^1.0.0"
34260
+ }
34261
+ },
34262
  "unique-filename": {
34263
  "version": "1.1.1",
34264
  "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
package.json CHANGED
@@ -18,6 +18,8 @@
18
  "render-still": "remotion still --image-format=jpeg SemibitCompositionPoster ",
19
  "render-image": "remotion still --image-format=jpeg --concurrency 16 $npm_config_composition $npm_config_output",
20
  "render-images": "remotion render --enable-multiprocess-on-linux --sequence --image-format=jpeg $npm_config_composition $npm_config_output",
 
 
21
  "upgrade": "remotion upgrade",
22
  "postinstall": "cd node_modules/common-utils && npm run build && cd ../../ && node ffmpeg-fix.js",
23
  "serve": "firebase emulators:start --only functions --project semibitmedia",
@@ -53,6 +55,7 @@
53
  "@types/web": "^0.0.86",
54
  "axios": "^1.4.0",
55
  "body-parser": "^1.20.2",
 
56
  "common-utils": "file:common-utils",
57
  "express": "^4.18.2",
58
  "ffbinaries": "^1.1.5",
@@ -66,6 +69,7 @@
66
  "multi-db-orm": "^1.3.0",
67
  "npm": "^9.8.1",
68
  "path": "^0.12.7",
 
69
  "puppeteer": "^21.3.6",
70
  "react": "^18.0.0",
71
  "react-dom": "^18.0.0",
 
18
  "render-still": "remotion still --image-format=jpeg SemibitCompositionPoster ",
19
  "render-image": "remotion still --image-format=jpeg --concurrency 16 $npm_config_composition $npm_config_output",
20
  "render-images": "remotion render --enable-multiprocess-on-linux --sequence --image-format=jpeg $npm_config_composition $npm_config_output",
21
+ "paperdrive:pdf": "npm run render-images PaperDriveComposition ./out && npm run img2pdf",
22
+ "img2pdf": "node ./scripts/img2pdf.js",
23
  "upgrade": "remotion upgrade",
24
  "postinstall": "cd node_modules/common-utils && npm run build && cd ../../ && node ffmpeg-fix.js",
25
  "serve": "firebase emulators:start --only functions --project semibitmedia",
 
55
  "@types/web": "^0.0.86",
56
  "axios": "^1.4.0",
57
  "body-parser": "^1.20.2",
58
+ "command-line-args": "^6.0.0",
59
  "common-utils": "file:common-utils",
60
  "express": "^4.18.2",
61
  "ffbinaries": "^1.1.5",
 
69
  "multi-db-orm": "^1.3.0",
70
  "npm": "^9.8.1",
71
  "path": "^0.12.7",
72
+ "pdfkit": "^0.15.0",
73
  "puppeteer": "^21.3.6",
74
  "react": "^18.0.0",
75
  "react-dom": "^18.0.0",
scripts/img2pdf.js ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import PDFDocument from 'pdfkit';
2
+ import fs from 'fs';
3
+ import path from 'path';
4
+
5
+ const optionDefinitions = [
6
+ {name: 'output', alias: 'o', type: String},
7
+ {name: 'input', alias: 'i', type: String},
8
+ ];
9
+
10
+ import commandLineArgs from 'command-line-args';
11
+ const options = commandLineArgs(optionDefinitions);
12
+
13
+ const doc = new PDFDocument({
14
+ autoFirstPage: false, // Disable the automatic first page to fully control page creation
15
+ });
16
+
17
+ const output = options.output || 'out/output.pdf';
18
+ doc.pipe(fs.createWriteStream(output));
19
+
20
+ const inputFolder = options.input || 'out';
21
+ const files = fs.readdirSync(inputFolder);
22
+ console.log('Reading', files.length, 'from', inputFolder, '... ');
23
+
24
+ for (const file of files) {
25
+ if (
26
+ file.endsWith('.jpg') ||
27
+ file.endsWith('.png') ||
28
+ file.endsWith('.jpeg')
29
+ ) {
30
+ const imgPath = path.join(inputFolder, file);
31
+ const {width, height} = doc.openImage(imgPath);
32
+
33
+ // Add a new page with the same dimensions as the image
34
+ doc.addPage({size: [width, height], margin: 0});
35
+
36
+ // Add the image without margins or padding, covering the full page
37
+ doc.image(imgPath, 0, 0, {width, height});
38
+ }
39
+ }
40
+
41
+ doc.end();
42
+ console.log('PDF saved to', output);