create-berna-stencil 1.0.8 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/.eleventy.js +3 -1
  2. package/.env.example +8 -0
  3. package/.gitignore +2 -1
  4. package/README.md +1 -5
  5. package/bin/create.js +2 -1
  6. package/package.json +71 -70
  7. package/src/.htaccess +18 -0
  8. package/src/api/.htaccess +12 -0
  9. package/src/api/composer.json +6 -0
  10. package/src/api/composer.lock +574 -0
  11. package/src/api/endpoints/protected/secret.php +16 -0
  12. package/src/api/endpoints/protected/send-mail.php +75 -0
  13. package/src/api/endpoints/public/ping.php +16 -0
  14. package/src/api/index.php +95 -0
  15. package/src/api/init.php +43 -0
  16. package/src/api/modules/Response.php +37 -0
  17. package/src/api/vendor/autoload.php +22 -0
  18. package/src/api/vendor/composer/ClassLoader.php +579 -0
  19. package/src/api/vendor/composer/InstalledVersions.php +396 -0
  20. package/src/api/vendor/composer/LICENSE +21 -0
  21. package/src/api/vendor/composer/autoload_classmap.php +15 -0
  22. package/src/api/vendor/composer/autoload_files.php +12 -0
  23. package/src/api/vendor/composer/autoload_namespaces.php +9 -0
  24. package/src/api/vendor/composer/autoload_psr4.php +16 -0
  25. package/src/api/vendor/composer/autoload_real.php +50 -0
  26. package/src/api/vendor/composer/autoload_static.php +86 -0
  27. package/src/api/vendor/composer/installed.json +582 -0
  28. package/src/api/vendor/composer/installed.php +86 -0
  29. package/src/api/vendor/composer/platform_check.php +25 -0
  30. package/src/api/vendor/graham-campbell/result-type/.gitattributes +9 -0
  31. package/src/api/vendor/graham-campbell/result-type/.github/CODE_OF_CONDUCT.md +132 -0
  32. package/src/api/vendor/graham-campbell/result-type/.github/CONTRIBUTING.md +31 -0
  33. package/src/api/vendor/graham-campbell/result-type/.github/FUNDING.yml +2 -0
  34. package/src/api/vendor/graham-campbell/result-type/.github/SECURITY.md +14 -0
  35. package/src/api/vendor/graham-campbell/result-type/.github/workflows/stale.yml +11 -0
  36. package/src/api/vendor/graham-campbell/result-type/.github/workflows/tests.yml +40 -0
  37. package/src/api/vendor/graham-campbell/result-type/CHANGELOG.md +53 -0
  38. package/src/api/vendor/graham-campbell/result-type/LICENSE +21 -0
  39. package/src/api/vendor/graham-campbell/result-type/README.md +42 -0
  40. package/src/api/vendor/graham-campbell/result-type/composer.json +33 -0
  41. package/src/api/vendor/graham-campbell/result-type/phpunit.xml.dist +13 -0
  42. package/src/api/vendor/graham-campbell/result-type/src/Error.php +121 -0
  43. package/src/api/vendor/graham-campbell/result-type/src/Result.php +69 -0
  44. package/src/api/vendor/graham-campbell/result-type/src/Success.php +120 -0
  45. package/src/api/vendor/graham-campbell/result-type/tests/ResultTest.php +95 -0
  46. package/src/api/vendor/phpmailer/phpmailer/.codecov.yml +21 -0
  47. package/src/api/vendor/phpmailer/phpmailer/.editorconfig +15 -0
  48. package/src/api/vendor/phpmailer/phpmailer/.gitattributes +17 -0
  49. package/src/api/vendor/phpmailer/phpmailer/.github/FUNDING.yml +6 -0
  50. package/src/api/vendor/phpmailer/phpmailer/.github/ISSUE_TEMPLATE/bug_report.md +23 -0
  51. package/src/api/vendor/phpmailer/phpmailer/.github/actions/build-docs/Dockerfile +15 -0
  52. package/src/api/vendor/phpmailer/phpmailer/.github/actions/build-docs/entrypoint.sh +5 -0
  53. package/src/api/vendor/phpmailer/phpmailer/.github/dependabot.yml +21 -0
  54. package/src/api/vendor/phpmailer/phpmailer/.github/workflows/docs.yaml +30 -0
  55. package/src/api/vendor/phpmailer/phpmailer/.github/workflows/scorecards.yml +61 -0
  56. package/src/api/vendor/phpmailer/phpmailer/.github/workflows/tests.yml +237 -0
  57. package/src/api/vendor/phpmailer/phpmailer/.phan/config.php +41 -0
  58. package/src/api/vendor/phpmailer/phpmailer/COMMITMENT +46 -0
  59. package/src/api/vendor/phpmailer/phpmailer/LICENSE +502 -0
  60. package/src/api/vendor/phpmailer/phpmailer/README.md +232 -0
  61. package/src/api/vendor/phpmailer/phpmailer/SECURITY.md +37 -0
  62. package/src/api/vendor/phpmailer/phpmailer/SMTPUTF8.md +48 -0
  63. package/src/api/vendor/phpmailer/phpmailer/UPGRADING.md +125 -0
  64. package/src/api/vendor/phpmailer/phpmailer/VERSION +1 -0
  65. package/src/api/vendor/phpmailer/phpmailer/changelog.md +1122 -0
  66. package/src/api/vendor/phpmailer/phpmailer/composer.json +84 -0
  67. package/src/api/vendor/phpmailer/phpmailer/docs/README.md +9 -0
  68. package/src/api/vendor/phpmailer/phpmailer/examples/DKIM_gen_keys.phps +81 -0
  69. package/src/api/vendor/phpmailer/phpmailer/examples/DKIM_sign.phps +46 -0
  70. package/src/api/vendor/phpmailer/phpmailer/examples/README.md +96 -0
  71. package/src/api/vendor/phpmailer/phpmailer/examples/azure_xoauth2.phps +126 -0
  72. package/src/api/vendor/phpmailer/phpmailer/examples/callback.phps +76 -0
  73. package/src/api/vendor/phpmailer/phpmailer/examples/contactform-ajax.phps +146 -0
  74. package/src/api/vendor/phpmailer/phpmailer/examples/contactform.phps +95 -0
  75. package/src/api/vendor/phpmailer/phpmailer/examples/contents.html +17 -0
  76. package/src/api/vendor/phpmailer/phpmailer/examples/contentsutf8.html +23 -0
  77. package/src/api/vendor/phpmailer/phpmailer/examples/exceptions.phps +40 -0
  78. package/src/api/vendor/phpmailer/phpmailer/examples/extending.phps +72 -0
  79. package/src/api/vendor/phpmailer/phpmailer/examples/gmail.phps +106 -0
  80. package/src/api/vendor/phpmailer/phpmailer/examples/gmail_xoauth.phps +121 -0
  81. package/src/api/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.afdesign +0 -0
  82. package/src/api/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.png +0 -0
  83. package/src/api/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.svg +209 -0
  84. package/src/api/vendor/phpmailer/phpmailer/examples/images/phpmailer.png +0 -0
  85. package/src/api/vendor/phpmailer/phpmailer/examples/images/phpmailer_mini.png +0 -0
  86. package/src/api/vendor/phpmailer/phpmailer/examples/mail.phps +35 -0
  87. package/src/api/vendor/phpmailer/phpmailer/examples/mailing_list.phps +96 -0
  88. package/src/api/vendor/phpmailer/phpmailer/examples/pop_before_smtp.phps +60 -0
  89. package/src/api/vendor/phpmailer/phpmailer/examples/send_file_upload.phps +60 -0
  90. package/src/api/vendor/phpmailer/phpmailer/examples/send_multiple_file_upload.phps +60 -0
  91. package/src/api/vendor/phpmailer/phpmailer/examples/sendmail.phps +37 -0
  92. package/src/api/vendor/phpmailer/phpmailer/examples/sendoauth2.phps +100 -0
  93. package/src/api/vendor/phpmailer/phpmailer/examples/simple_contact_form.phps +102 -0
  94. package/src/api/vendor/phpmailer/phpmailer/examples/smime_signed_mail.phps +99 -0
  95. package/src/api/vendor/phpmailer/phpmailer/examples/smtp.phps +62 -0
  96. package/src/api/vendor/phpmailer/phpmailer/examples/smtp_check.phps +60 -0
  97. package/src/api/vendor/phpmailer/phpmailer/examples/smtp_low_memory.phps +117 -0
  98. package/src/api/vendor/phpmailer/phpmailer/examples/smtp_no_auth.phps +53 -0
  99. package/src/api/vendor/phpmailer/phpmailer/examples/ssl_options.phps +81 -0
  100. package/src/api/vendor/phpmailer/phpmailer/get_oauth_token.php +182 -0
  101. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-af.php +26 -0
  102. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ar.php +27 -0
  103. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-as.php +35 -0
  104. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-az.php +27 -0
  105. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ba.php +27 -0
  106. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-be.php +27 -0
  107. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-bg.php +27 -0
  108. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-bn.php +35 -0
  109. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ca.php +27 -0
  110. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-cs.php +28 -0
  111. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-da.php +39 -0
  112. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-de.php +28 -0
  113. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-el.php +33 -0
  114. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-eo.php +37 -0
  115. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-es.php +38 -0
  116. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-et.php +28 -0
  117. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-fa.php +28 -0
  118. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-fi.php +27 -0
  119. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-fo.php +27 -0
  120. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-fr.php +36 -0
  121. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-gl.php +27 -0
  122. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-he.php +27 -0
  123. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-hi.php +35 -0
  124. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-hr.php +27 -0
  125. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-hu.php +27 -0
  126. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-hy.php +27 -0
  127. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-id.php +31 -0
  128. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-it.php +28 -0
  129. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ja.php +37 -0
  130. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ka.php +27 -0
  131. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ko.php +27 -0
  132. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ku.php +27 -0
  133. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-lt.php +27 -0
  134. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-lv.php +27 -0
  135. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-mg.php +27 -0
  136. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-mn.php +27 -0
  137. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ms.php +27 -0
  138. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-nb.php +37 -0
  139. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-nl.php +38 -0
  140. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-pl.php +33 -0
  141. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-pt.php +34 -0
  142. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-pt_br.php +38 -0
  143. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ro.php +33 -0
  144. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ru.php +36 -0
  145. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-si.php +34 -0
  146. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sk.php +30 -0
  147. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sl.php +36 -0
  148. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr.php +28 -0
  149. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr_latn.php +28 -0
  150. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sv.php +27 -0
  151. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-tl.php +28 -0
  152. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-tr.php +38 -0
  153. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-uk.php +28 -0
  154. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ur.php +30 -0
  155. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-vi.php +27 -0
  156. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-zh.php +29 -0
  157. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-zh_cn.php +36 -0
  158. package/src/api/vendor/phpmailer/phpmailer/phpcs.xml.dist +52 -0
  159. package/src/api/vendor/phpmailer/phpmailer/phpdoc.dist.xml +20 -0
  160. package/src/api/vendor/phpmailer/phpmailer/phpunit.xml.dist +36 -0
  161. package/src/api/vendor/phpmailer/phpmailer/src/DSNConfigurator.php +245 -0
  162. package/src/api/vendor/phpmailer/phpmailer/src/Exception.php +40 -0
  163. package/src/api/vendor/phpmailer/phpmailer/src/OAuth.php +139 -0
  164. package/src/api/vendor/phpmailer/phpmailer/src/OAuthTokenProvider.php +44 -0
  165. package/src/api/vendor/phpmailer/phpmailer/src/PHPMailer.php +5525 -0
  166. package/src/api/vendor/phpmailer/phpmailer/src/POP3.php +470 -0
  167. package/src/api/vendor/phpmailer/phpmailer/src/SMTP.php +1617 -0
  168. package/src/api/vendor/phpmailer/phpmailer/test/DebugLogTestListener.php +47 -0
  169. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/FileIsAccessibleTest/accessible.txt +1 -0
  170. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/FileIsAccessibleTest/inaccessible.txt +1 -0
  171. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-fr.php +10 -0
  172. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-nl.php +10 -0
  173. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xa_scri_cc.php +9 -0
  174. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xb_scri.php +9 -0
  175. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xc_cc.php +9 -0
  176. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xd_cc.php +9 -0
  177. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xd_scri.php +9 -0
  178. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xe.php +9 -0
  179. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xx.php +9 -0
  180. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-yy.php +16 -0
  181. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-yz.php +16 -0
  182. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-zz.php +20 -0
  183. package/src/api/vendor/phpmailer/phpmailer/test/Language/TranslationCompletenessTest.php +97 -0
  184. package/src/api/vendor/phpmailer/phpmailer/test/OAuth/OAuthTest.php +76 -0
  185. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AddEmbeddedImageTest.php +178 -0
  186. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AddStringAttachmentTest.php +147 -0
  187. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AddStringEmbeddedImageTest.php +161 -0
  188. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AddrFormatTest.php +70 -0
  189. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AuthCRAMMD5Test.php +48 -0
  190. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/CustomHeaderTest.php +285 -0
  191. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/DKIMTest.php +258 -0
  192. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/DKIMWithoutExceptionsTest.php +46 -0
  193. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/DSNConfiguratorTest.php +221 -0
  194. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/EncodeQTest.php +110 -0
  195. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/EncodeStringTest.php +135 -0
  196. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/FileIsAccessibleTest.php +103 -0
  197. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/FilenameToTypeTest.php +74 -0
  198. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/GenerateIdTest.php +75 -0
  199. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/GetLastMessageIDTest.php +110 -0
  200. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/HasLineLongerThanMaxTest.php +158 -0
  201. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/Html2TextTest.php +231 -0
  202. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ICalTest.php +126 -0
  203. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/IsPermittedPathTest.php +108 -0
  204. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/IsValidHostTest.php +107 -0
  205. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/LocalizationTest.php +505 -0
  206. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/MailTransportTest.php +261 -0
  207. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/MbPathinfoTest.php +171 -0
  208. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/MimeTypesTest.php +70 -0
  209. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/NormalizeBreaksTest.php +111 -0
  210. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/PHPMailerTest.php +1388 -0
  211. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ParseAddressesTest.php +321 -0
  212. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/PunyencodeAddressTest.php +141 -0
  213. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/QuotedStringTest.php +70 -0
  214. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ReplyToGetSetClearTest.php +444 -0
  215. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/SetErrorTest.php +154 -0
  216. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/SetFromTest.php +202 -0
  217. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/SetTest.php +81 -0
  218. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/SetWordWrapTest.php +120 -0
  219. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/Utf8CharBoundaryTest.php +66 -0
  220. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ValidateAddressCustomValidatorTest.php +116 -0
  221. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ValidateAddressTest.php +485 -0
  222. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/WrapTextTest.php +125 -0
  223. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/XMailerTest.php +75 -0
  224. package/src/api/vendor/phpmailer/phpmailer/test/POP3/PopBeforeSmtpTest.php +139 -0
  225. package/src/api/vendor/phpmailer/phpmailer/test/PreSendTestCase.php +46 -0
  226. package/src/api/vendor/phpmailer/phpmailer/test/Security/DenialOfServiceVectorsTest.php +52 -0
  227. package/src/api/vendor/phpmailer/phpmailer/test/SendTestCase.php +126 -0
  228. package/src/api/vendor/phpmailer/phpmailer/test/TestCase.php +392 -0
  229. package/src/api/vendor/phpmailer/phpmailer/test/fakepopserver.sh +126 -0
  230. package/src/api/vendor/phpmailer/phpmailer/test/fakesendmail.sh +22 -0
  231. package/src/api/vendor/phpmailer/phpmailer/test/runfakepopserver.sh +12 -0
  232. package/src/api/vendor/phpmailer/phpmailer/test/testbootstrap-dist.php +8 -0
  233. package/src/api/vendor/phpmailer/phpmailer/test/validators.php +12 -0
  234. package/src/api/vendor/phpoption/phpoption/.gitattributes +13 -0
  235. package/src/api/vendor/phpoption/phpoption/.github/CODE_OF_CONDUCT.md +132 -0
  236. package/src/api/vendor/phpoption/phpoption/.github/CONTRIBUTING.md +30 -0
  237. package/src/api/vendor/phpoption/phpoption/.github/FUNDING.yml +2 -0
  238. package/src/api/vendor/phpoption/phpoption/.github/SECURITY.md +14 -0
  239. package/src/api/vendor/phpoption/phpoption/.github/workflows/static.yml +40 -0
  240. package/src/api/vendor/phpoption/phpoption/.github/workflows/tests.yml +40 -0
  241. package/src/api/vendor/phpoption/phpoption/LICENSE +201 -0
  242. package/src/api/vendor/phpoption/phpoption/Makefile +17 -0
  243. package/src/api/vendor/phpoption/phpoption/README.md +201 -0
  244. package/src/api/vendor/phpoption/phpoption/composer.json +50 -0
  245. package/src/api/vendor/phpoption/phpoption/phpstan-baseline.neon +44 -0
  246. package/src/api/vendor/phpoption/phpoption/phpstan.neon.dist +7 -0
  247. package/src/api/vendor/phpoption/phpoption/phpunit.xml.dist +13 -0
  248. package/src/api/vendor/phpoption/phpoption/src/PhpOption/LazyOption.php +175 -0
  249. package/src/api/vendor/phpoption/phpoption/src/PhpOption/None.php +136 -0
  250. package/src/api/vendor/phpoption/phpoption/src/PhpOption/Option.php +434 -0
  251. package/src/api/vendor/phpoption/phpoption/src/PhpOption/Some.php +169 -0
  252. package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/EnsureTest.php +72 -0
  253. package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/LazyOptionTest.php +357 -0
  254. package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/NoneTest.php +153 -0
  255. package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/OptionTest.php +166 -0
  256. package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/SomeTest.php +194 -0
  257. package/src/api/vendor/phpoption/phpoption/tests/bootstrap.php +8 -0
  258. package/src/api/vendor/phpoption/phpoption/vendor-bin/phpstan/composer.json +8 -0
  259. package/src/api/vendor/symfony/polyfill-ctype/Ctype.php +232 -0
  260. package/src/api/vendor/symfony/polyfill-ctype/LICENSE +19 -0
  261. package/src/api/vendor/symfony/polyfill-ctype/README.md +12 -0
  262. package/src/api/vendor/symfony/polyfill-ctype/bootstrap.php +50 -0
  263. package/src/api/vendor/symfony/polyfill-ctype/bootstrap80.php +46 -0
  264. package/src/api/vendor/symfony/polyfill-ctype/composer.json +38 -0
  265. package/src/api/vendor/symfony/polyfill-mbstring/LICENSE +19 -0
  266. package/src/api/vendor/symfony/polyfill-mbstring/Mbstring.php +1077 -0
  267. package/src/api/vendor/symfony/polyfill-mbstring/README.md +13 -0
  268. package/src/api/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -0
  269. package/src/api/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1397 -0
  270. package/src/api/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +5 -0
  271. package/src/api/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +1489 -0
  272. package/src/api/vendor/symfony/polyfill-mbstring/bootstrap.php +171 -0
  273. package/src/api/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -0
  274. package/src/api/vendor/symfony/polyfill-mbstring/composer.json +39 -0
  275. package/src/api/vendor/symfony/polyfill-php80/LICENSE +19 -0
  276. package/src/api/vendor/symfony/polyfill-php80/Php80.php +115 -0
  277. package/src/api/vendor/symfony/polyfill-php80/PhpToken.php +106 -0
  278. package/src/api/vendor/symfony/polyfill-php80/README.md +25 -0
  279. package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +31 -0
  280. package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/PhpToken.php +16 -0
  281. package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +20 -0
  282. package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +16 -0
  283. package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +16 -0
  284. package/src/api/vendor/symfony/polyfill-php80/bootstrap.php +42 -0
  285. package/src/api/vendor/symfony/polyfill-php80/composer.json +37 -0
  286. package/src/api/vendor/vlucas/phpdotenv/.editorconfig +15 -0
  287. package/src/api/vendor/vlucas/phpdotenv/.gitattributes +15 -0
  288. package/src/api/vendor/vlucas/phpdotenv/.github/CODE_OF_CONDUCT.md +132 -0
  289. package/src/api/vendor/vlucas/phpdotenv/.github/CONTRIBUTING.md +30 -0
  290. package/src/api/vendor/vlucas/phpdotenv/.github/FUNDING.yml +2 -0
  291. package/src/api/vendor/vlucas/phpdotenv/.github/SECURITY.md +14 -0
  292. package/src/api/vendor/vlucas/phpdotenv/.github/workflows/static.yml +40 -0
  293. package/src/api/vendor/vlucas/phpdotenv/.github/workflows/tests.yml +70 -0
  294. package/src/api/vendor/vlucas/phpdotenv/LICENSE +30 -0
  295. package/src/api/vendor/vlucas/phpdotenv/Makefile +17 -0
  296. package/src/api/vendor/vlucas/phpdotenv/README.md +370 -0
  297. package/src/api/vendor/vlucas/phpdotenv/UPGRADING.md +196 -0
  298. package/src/api/vendor/vlucas/phpdotenv/composer.json +60 -0
  299. package/src/api/vendor/vlucas/phpdotenv/phpstan-baseline.neon +157 -0
  300. package/src/api/vendor/vlucas/phpdotenv/phpstan.neon.dist +7 -0
  301. package/src/api/vendor/vlucas/phpdotenv/phpunit.xml.dist +13 -0
  302. package/src/api/vendor/vlucas/phpdotenv/src/Dotenv.php +267 -0
  303. package/src/api/vendor/vlucas/phpdotenv/src/Exception/ExceptionInterface.php +12 -0
  304. package/src/api/vendor/vlucas/phpdotenv/src/Exception/InvalidEncodingException.php +12 -0
  305. package/src/api/vendor/vlucas/phpdotenv/src/Exception/InvalidFileException.php +12 -0
  306. package/src/api/vendor/vlucas/phpdotenv/src/Exception/InvalidPathException.php +12 -0
  307. package/src/api/vendor/vlucas/phpdotenv/src/Exception/ValidationException.php +12 -0
  308. package/src/api/vendor/vlucas/phpdotenv/src/Loader/Loader.php +48 -0
  309. package/src/api/vendor/vlucas/phpdotenv/src/Loader/LoaderInterface.php +20 -0
  310. package/src/api/vendor/vlucas/phpdotenv/src/Loader/Resolver.php +65 -0
  311. package/src/api/vendor/vlucas/phpdotenv/src/Parser/Entry.php +59 -0
  312. package/src/api/vendor/vlucas/phpdotenv/src/Parser/EntryParser.php +299 -0
  313. package/src/api/vendor/vlucas/phpdotenv/src/Parser/Lexer.php +58 -0
  314. package/src/api/vendor/vlucas/phpdotenv/src/Parser/Lines.php +127 -0
  315. package/src/api/vendor/vlucas/phpdotenv/src/Parser/Parser.php +53 -0
  316. package/src/api/vendor/vlucas/phpdotenv/src/Parser/ParserInterface.php +19 -0
  317. package/src/api/vendor/vlucas/phpdotenv/src/Parser/Value.php +88 -0
  318. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/AdapterInterface.php +15 -0
  319. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ApacheAdapter.php +89 -0
  320. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ArrayAdapter.php +80 -0
  321. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/EnvConstAdapter.php +88 -0
  322. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/GuardedWriter.php +85 -0
  323. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ImmutableWriter.php +110 -0
  324. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiReader.php +48 -0
  325. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiWriter.php +64 -0
  326. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/PutenvAdapter.php +91 -0
  327. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReaderInterface.php +17 -0
  328. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReplacingWriter.php +104 -0
  329. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ServerConstAdapter.php +88 -0
  330. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/WriterInterface.php +27 -0
  331. package/src/api/vendor/vlucas/phpdotenv/src/Repository/AdapterRepository.php +107 -0
  332. package/src/api/vendor/vlucas/phpdotenv/src/Repository/RepositoryBuilder.php +272 -0
  333. package/src/api/vendor/vlucas/phpdotenv/src/Repository/RepositoryInterface.php +51 -0
  334. package/src/api/vendor/vlucas/phpdotenv/src/Store/File/Paths.php +44 -0
  335. package/src/api/vendor/vlucas/phpdotenv/src/Store/File/Reader.php +81 -0
  336. package/src/api/vendor/vlucas/phpdotenv/src/Store/FileStore.php +72 -0
  337. package/src/api/vendor/vlucas/phpdotenv/src/Store/StoreBuilder.php +141 -0
  338. package/src/api/vendor/vlucas/phpdotenv/src/Store/StoreInterface.php +17 -0
  339. package/src/api/vendor/vlucas/phpdotenv/src/Store/StringStore.php +37 -0
  340. package/src/api/vendor/vlucas/phpdotenv/src/Util/Regex.php +112 -0
  341. package/src/api/vendor/vlucas/phpdotenv/src/Util/Str.php +108 -0
  342. package/src/api/vendor/vlucas/phpdotenv/src/Validator.php +207 -0
  343. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/DotenvTest.php +387 -0
  344. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Loader/LoaderTest.php +86 -0
  345. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/EntryParserTest.php +234 -0
  346. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LexerTest.php +40 -0
  347. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LinesTest.php +53 -0
  348. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/ParserTest.php +98 -0
  349. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ArrayAdapterTest.php +57 -0
  350. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/EnvConstAdapterTest.php +75 -0
  351. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/PutenvAdapterTest.php +52 -0
  352. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ServerConstAdapterTest.php +75 -0
  353. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/RepositoryTest.php +305 -0
  354. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Store/StoreTest.php +141 -0
  355. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/ValidatorTest.php +479 -0
  356. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/.env +5 -0
  357. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/assertions.env +18 -0
  358. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/booleans.env +33 -0
  359. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/commented.env +15 -0
  360. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/empty.env +1 -0
  361. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/example.env +1 -0
  362. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/exported.env +7 -0
  363. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/immutable.env +1 -0
  364. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/integers.env +17 -0
  365. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/large.env +2 -0
  366. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/multibyte.env +3 -0
  367. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/multiline.env +14 -0
  368. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/multiple.env +4 -0
  369. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/mutable.env +1 -0
  370. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/nested.env +15 -0
  371. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/quoted.env +11 -0
  372. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/specialchars.env +8 -0
  373. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/unicodevarnames.env +2 -0
  374. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/utf8-with-bom-encoding.env +3 -0
  375. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/windows.env +1 -0
  376. package/src/api/vendor/vlucas/phpdotenv/vendor-bin/phpstan/composer.json +15 -0
  377. package/src/api/configExample.php +0 -28
  378. package/src/api/sendEmail.php +0 -131
@@ -0,0 +1,120 @@
1
+ <?php
2
+
3
+ declare(strict_types=1);
4
+
5
+ /*
6
+ * This file is part of Result Type.
7
+ *
8
+ * (c) Graham Campbell <hello@gjcampbell.co.uk>
9
+ *
10
+ * For the full copyright and license information, please view the LICENSE
11
+ * file that was distributed with this source code.
12
+ */
13
+
14
+ namespace GrahamCampbell\ResultType;
15
+
16
+ use PhpOption\None;
17
+ use PhpOption\Some;
18
+
19
+ /**
20
+ * @template T
21
+ * @template E
22
+ *
23
+ * @extends \GrahamCampbell\ResultType\Result<T,E>
24
+ */
25
+ final class Success extends Result
26
+ {
27
+ /**
28
+ * @var T
29
+ */
30
+ private $value;
31
+
32
+ /**
33
+ * Internal constructor for a success value.
34
+ *
35
+ * @param T $value
36
+ *
37
+ * @return void
38
+ */
39
+ private function __construct($value)
40
+ {
41
+ $this->value = $value;
42
+ }
43
+
44
+ /**
45
+ * Create a new error value.
46
+ *
47
+ * @template S
48
+ *
49
+ * @param S $value
50
+ *
51
+ * @return \GrahamCampbell\ResultType\Result<S,E>
52
+ */
53
+ public static function create($value)
54
+ {
55
+ return new self($value);
56
+ }
57
+
58
+ /**
59
+ * Get the success option value.
60
+ *
61
+ * @return \PhpOption\Option<T>
62
+ */
63
+ public function success()
64
+ {
65
+ return Some::create($this->value);
66
+ }
67
+
68
+ /**
69
+ * Map over the success value.
70
+ *
71
+ * @template S
72
+ *
73
+ * @param callable(T):S $f
74
+ *
75
+ * @return \GrahamCampbell\ResultType\Result<S,E>
76
+ */
77
+ public function map(callable $f)
78
+ {
79
+ return self::create($f($this->value));
80
+ }
81
+
82
+ /**
83
+ * Flat map over the success value.
84
+ *
85
+ * @template S
86
+ * @template F
87
+ *
88
+ * @param callable(T):\GrahamCampbell\ResultType\Result<S,F> $f
89
+ *
90
+ * @return \GrahamCampbell\ResultType\Result<S,F>
91
+ */
92
+ public function flatMap(callable $f)
93
+ {
94
+ return $f($this->value);
95
+ }
96
+
97
+ /**
98
+ * Get the error option value.
99
+ *
100
+ * @return \PhpOption\Option<E>
101
+ */
102
+ public function error()
103
+ {
104
+ return None::create();
105
+ }
106
+
107
+ /**
108
+ * Map over the error value.
109
+ *
110
+ * @template F
111
+ *
112
+ * @param callable(E):F $f
113
+ *
114
+ * @return \GrahamCampbell\ResultType\Result<T,F>
115
+ */
116
+ public function mapError(callable $f)
117
+ {
118
+ return self::create($this->value);
119
+ }
120
+ }
@@ -0,0 +1,95 @@
1
+ <?php
2
+
3
+ declare(strict_types=1);
4
+
5
+ /*
6
+ * This file is part of Result Type.
7
+ *
8
+ * (c) Graham Campbell <hello@gjcampbell.co.uk>
9
+ *
10
+ * For the full copyright and license information, please view the LICENSE
11
+ * file that was distributed with this source code.
12
+ */
13
+
14
+ namespace GrahamCampbell\Tests\ResultType;
15
+
16
+ use GrahamCampbell\ResultType\Error;
17
+ use GrahamCampbell\ResultType\Success;
18
+ use PHPUnit\Framework\TestCase;
19
+ use RuntimeException;
20
+
21
+ class ResultTest extends TestCase
22
+ {
23
+ public function testSuccessValue(): void
24
+ {
25
+ self::assertTrue(Success::create('foo')->error()->isEmpty());
26
+ self::assertTrue(Success::create('foo')->success()->isDefined());
27
+ self::assertSame('foo', Success::create('foo')->success()->get());
28
+ }
29
+
30
+ public function testSuccessMapping(): void
31
+ {
32
+ $r = Success::create('foo')
33
+ ->map('strtoupper')
34
+ ->mapError('ucfirst');
35
+
36
+ self::assertTrue($r->success()->isDefined());
37
+ self::assertSame('FOO', $r->success()->get());
38
+ }
39
+
40
+ public function testSuccessFlatMappingSuccess(): void
41
+ {
42
+ $r = Success::create('foo')->flatMap(function (string $data): Success {
43
+ return Success::create('OH YES');
44
+ });
45
+
46
+ self::assertTrue($r->success()->isDefined());
47
+ self::assertSame('OH YES', $r->success()->get());
48
+ }
49
+
50
+ public function testSuccessFlatMappingError(): void
51
+ {
52
+ $r = Success::create('foo')->flatMap(function (string $data): Error {
53
+ return Error::create('OH NO');
54
+ });
55
+
56
+ self::assertTrue($r->error()->isDefined());
57
+ self::assertSame('OH NO', $r->error()->get());
58
+ }
59
+
60
+ public function testSuccessFail(): void
61
+ {
62
+ $result = Success::create('foo');
63
+
64
+ $this->expectException(RuntimeException::class);
65
+ $this->expectExceptionMessage('None has no value.');
66
+
67
+ $result->error()->get();
68
+ }
69
+
70
+ public function testErrorValue(): void
71
+ {
72
+ self::assertTrue(Error::create('foo')->error()->isDefined());
73
+ self::assertTrue(Error::create('foo')->success()->isEmpty());
74
+ self::assertSame('foo', Error::create('foo')->error()->get());
75
+ }
76
+
77
+ public function testErrorMapping(): void
78
+ {
79
+ $r = Error::create('foo')
80
+ ->map('strtoupper')
81
+ ->mapError('ucfirst');
82
+
83
+ self::assertSame('Foo', $r->error()->get());
84
+ }
85
+
86
+ public function testErrorFail(): void
87
+ {
88
+ $result = Error::create('foo');
89
+
90
+ $this->expectException(RuntimeException::class);
91
+ $this->expectExceptionMessage('None has no value.');
92
+
93
+ $result->success()->get();
94
+ }
95
+ }
@@ -0,0 +1,21 @@
1
+ codecov:
2
+ notify:
3
+ after_n_builds: 2
4
+
5
+ coverage:
6
+ round: nearest
7
+ # Status will be green when coverage is between 70 and 100%.
8
+ range: "70...100"
9
+ status:
10
+ project:
11
+ default:
12
+ threshold: 2%
13
+ paths:
14
+ - "src"
15
+ patch:
16
+ default:
17
+ threshold: 0%
18
+ paths:
19
+ - "src"
20
+
21
+ comment: false
@@ -0,0 +1,15 @@
1
+ root = true
2
+
3
+ [*]
4
+ charset = utf-8
5
+ indent_size = 4
6
+ indent_style = space
7
+ end_of_line = lf
8
+ insert_final_newline = true
9
+ trim_trailing_whitespace = true
10
+
11
+ [*.md]
12
+ trim_trailing_whitespace = false
13
+
14
+ [*.{yml,yaml}]
15
+ indent_size = 2
@@ -0,0 +1,17 @@
1
+ * text=auto
2
+
3
+ /.codecov.yml export-ignore
4
+ /.editorconfig export-ignore
5
+ /.gitattributes export-ignore
6
+ /.github export-ignore
7
+ /.gitignore export-ignore
8
+ /.phan export-ignore
9
+ /.scrutinizer.yml export-ignore
10
+ /changelog.md export-ignore
11
+ /docs export-ignore
12
+ /examples export-ignore
13
+ /phpcs.xml.dist export-ignore
14
+ /phpdoc.dist.xml export-ignore
15
+ /phpunit.xml.dist export-ignore
16
+ /test export-ignore
17
+ /UPGRADING.md export-ignore
@@ -0,0 +1,6 @@
1
+ # These are supported funding model platforms
2
+
3
+ github: Synchro
4
+ patreon: marcusbointon
5
+ tidelift: "packagist/phpmailer/phpmailer"
6
+ custom: https://marcus.bointon.com/donations/
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: Bug report
3
+ about: If you've found a bug in PHPMailer, this is the right place to report it
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ Please check these things before submitting your issue:
11
+
12
+ - [ ] *Read the error message* you're seeing - it often tells you what is wrong, and may contain useful links & instructions
13
+ - [ ] Make sure you're using the latest version of PHPMailer
14
+ - [ ] Check that your problem is not dealt with in [the troubleshooting guide](https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting), especially if you're having problems connecting to Gmail or GoDaddy
15
+ - [ ] Include sufficient code to reproduce your problem
16
+ - [ ] If you're having an SMTP issue, include the debug output generated with `SMTPDebug = 2` set
17
+ - [ ] If you have a question about how to use PHPMailer (rather than reporting a bug in it), tag a question on Stack Overflow with `phpmailer`, but [**search first**](https://stackoverflow.com/questions/tagged/phpmailer)!
18
+
19
+ # Problem description
20
+
21
+ # Code to reproduce
22
+
23
+ # Debug output
@@ -0,0 +1,15 @@
1
+ FROM phpdoc/phpdoc
2
+
3
+ LABEL "repository"="https://github.com/PHPMailer/PHPMailer"
4
+
5
+ LABEL "com.github.actions.name"="Build Docs"
6
+ LABEL "com.github.actions.description"="Build Docs with phpDocumentor"
7
+ LABEL "com.github.actions.icon"="file-text"
8
+ LABEL "com.github.actions.color"="blue"
9
+
10
+ # don't show errors
11
+ RUN echo "display_errors = Off" > $PHP_INI_DIR/conf.d/errors.ini
12
+
13
+ COPY entrypoint.sh /entrypoint.sh
14
+
15
+ ENTRYPOINT ["/entrypoint.sh"]
@@ -0,0 +1,5 @@
1
+ #!/bin/sh
2
+
3
+ set -eu
4
+
5
+ /opt/phpdoc/bin/phpdoc
@@ -0,0 +1,21 @@
1
+ # Dependabot configuration.
2
+ #
3
+ # Please see the documentation for all configuration options:
4
+ # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: "github-actions"
9
+ directory: "/"
10
+ schedule:
11
+ interval: "cron"
12
+ cronjob: "10 22 5,20 * *" # At 22:10, every 5th and 20th day of the month.
13
+ open-pull-requests-limit: 5
14
+ commit-message:
15
+ prefix: "GH Actions:"
16
+ groups:
17
+ action-runners:
18
+ applies-to: version-updates
19
+ update-types:
20
+ - "minor"
21
+ - "patch"
@@ -0,0 +1,30 @@
1
+ name: Docs
2
+ on:
3
+ push:
4
+ branches:
5
+ - master
6
+ permissions: {}
7
+ jobs:
8
+ build_and_publish:
9
+ permissions:
10
+ contents: write # to push changes in repo (jamesives/github-pages-deploy-action)
11
+
12
+ name: Build and publish Docs
13
+ runs-on: ubuntu-latest
14
+ if: github.repository == 'PHPMailer/PHPMailer'
15
+ steps:
16
+ - name: Checkout sources
17
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
18
+ with:
19
+ fetch-depth: 1
20
+ persist-credentials: false
21
+ - name: Build Docs
22
+ uses: ./.github/actions/build-docs
23
+ - name: Publish Docs to gh-pages
24
+ uses: JamesIves/github-pages-deploy-action@9d877eea73427180ae43cf98e8914934fe157a1a # v4.7.6
25
+ with:
26
+ branch: gh-pages
27
+ folder: docs
28
+ env:
29
+ BUILD_DIR: docs/
30
+ GH_PAT: ${{ secrets.GH_PAT }}
@@ -0,0 +1,61 @@
1
+ name: Scorecards supply-chain security
2
+ on:
3
+ # Only the default branch is supported.
4
+ branch_protection_rule:
5
+ schedule:
6
+ - cron: '39 20 * * 1'
7
+ push:
8
+ branches: [ "master" ]
9
+
10
+ permissions: {}
11
+
12
+ jobs:
13
+ analysis:
14
+ # Don't run the cron job on forks.
15
+ if: ${{ github.event_name != 'schedule' || github.event.repository.fork == false }}
16
+
17
+ name: Scorecards analysis
18
+ runs-on: ubuntu-latest
19
+
20
+ permissions:
21
+ # Required when publishing results (badge / API / code scanning)
22
+ security-events: write
23
+ id-token: write
24
+
25
+ steps:
26
+ - name: "Checkout code"
27
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
28
+ with:
29
+ persist-credentials: false
30
+
31
+ - name: "Run analysis"
32
+ uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3
33
+ with:
34
+ results_file: results.sarif
35
+ results_format: sarif
36
+ # (Optional) Read-only PAT token. Uncomment the `repo_token` line below if:
37
+ # - you want to enable the Branch-Protection check on a *public* repository, or
38
+ # - you are installing Scorecards on a *private* repository
39
+ # To create the PAT, follow the steps in https://github.com/ossf/scorecard-action#authentication-with-pat.
40
+ # repo_token: ${{ secrets.SCORECARD_READ_TOKEN }}
41
+
42
+ # Publish the results for public repositories to enable scorecard badges. For more details, see
43
+ # https://github.com/ossf/scorecard-action#publishing-results.
44
+ # For private repositories, `publish_results` will automatically be set to `false`, regardless
45
+ # of the value entered here.
46
+ publish_results: true
47
+
48
+ # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
49
+ # format to the repository Actions tab.
50
+ - name: "Upload artifact"
51
+ uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
52
+ with:
53
+ name: SARIF file
54
+ path: results.sarif
55
+ retention-days: 5
56
+
57
+ # Upload the results to GitHub's code scanning dashboard.
58
+ - name: "Upload to code-scanning"
59
+ uses: github/codeql-action/upload-sarif@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9
60
+ with:
61
+ sarif_file: results.sarif
@@ -0,0 +1,237 @@
1
+ name: "Tests"
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+ # Allow manually triggering the workflow.
7
+ workflow_dispatch:
8
+
9
+ permissions: {}
10
+
11
+ jobs:
12
+
13
+ coding-standard:
14
+ runs-on: ubuntu-22.04
15
+ name: Coding standards
16
+
17
+ permissions:
18
+ contents: read # to fetch code (actions/checkout)
19
+
20
+ steps:
21
+ - name: Check out code
22
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
23
+ with:
24
+ persist-credentials: false
25
+
26
+ - name: Set up PHP
27
+ uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # 2.36.0
28
+ with:
29
+ php-version: 'latest'
30
+ coverage: none
31
+ tools: cs2pr
32
+
33
+ # Install dependencies and handle caching in one go.
34
+ # @link https://github.com/marketplace/actions/install-php-dependencies-with-composer
35
+ - name: Install Composer dependencies
36
+ uses: "ramsey/composer-install@3cf229dc2919194e9e36783941438d17239e8520" # 3.1.1
37
+ with:
38
+ # Bust the cache at least once a month - output format: YYYY-MM.
39
+ custom-cache-suffix: $(date -u "+%Y-%m")
40
+
41
+ - name: Check coding standards
42
+ id: phpcs
43
+ run: ./vendor/bin/phpcs -s --report-full --report-checkstyle=./phpcs-report.xml
44
+
45
+ - name: Show PHPCS results in PR
46
+ if: ${{ always() && steps.phpcs.outcome == 'failure' }}
47
+ run: cs2pr ./phpcs-report.xml
48
+
49
+ lint:
50
+ runs-on: ubuntu-22.04
51
+ strategy:
52
+ matrix:
53
+ php: ['5.5', '7.2', '8.0', '8.5']
54
+ experimental: [false]
55
+ include:
56
+ - php: 'nightly'
57
+ experimental: true
58
+
59
+ name: "Lint: PHP ${{ matrix.php }}"
60
+ continue-on-error: ${{ matrix.experimental }}
61
+
62
+ permissions:
63
+ contents: read # to fetch code (actions/checkout)
64
+
65
+ steps:
66
+ - name: Checkout code
67
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
68
+ with:
69
+ persist-credentials: false
70
+
71
+ - name: Install PHP
72
+ uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # 2.36.0
73
+ with:
74
+ php-version: ${{ matrix.php }}
75
+ ini-values: error_reporting=-1, display_errors=On, display_startup_errors=On
76
+ coverage: none
77
+ tools: cs2pr
78
+
79
+ # Install dependencies and handle caching in one go.
80
+ # @link https://github.com/marketplace/actions/install-php-dependencies-with-composer
81
+ - name: Install Composer dependencies
82
+ uses: "ramsey/composer-install@3cf229dc2919194e9e36783941438d17239e8520" # 3.1.1
83
+ with:
84
+ # Bust the cache at least once a month - output format: YYYY-MM.
85
+ custom-cache-suffix: $(date -u "+%Y-%m")
86
+
87
+ - name: Lint against parse errors
88
+ if: ${{ matrix.php != 'nightly' }}
89
+ run: composer lint -- --checkstyle | cs2pr
90
+
91
+ - name: Lint against future parse errors (PHP nightly)
92
+ if: ${{ matrix.php == 'nightly' }}
93
+ run: composer lint
94
+
95
+ test:
96
+ needs: ['coding-standard', 'lint']
97
+ runs-on: ubuntu-22.04
98
+ strategy:
99
+ matrix:
100
+ php: ['5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4']
101
+ extensions: ['optimal', 'minimal']
102
+ coverage: [false]
103
+ experimental: [false]
104
+ include:
105
+ # Run code coverage on high/low PHP.
106
+ - php: '5.5'
107
+ extensions: 'optimal'
108
+ coverage: true
109
+ experimental: false
110
+ - php: '5.5'
111
+ extensions: 'minimal'
112
+ coverage: true
113
+ experimental: false
114
+ - php: '8.5'
115
+ extensions: 'optimal'
116
+ coverage: true
117
+ experimental: false
118
+ - php: '8.5'
119
+ extensions: 'minimal'
120
+ coverage: true
121
+ experimental: false
122
+
123
+ # Experimental builds. These are allowed to fail.
124
+ - php: '8.6'
125
+ extensions: 'optimal'
126
+ coverage: false
127
+ experimental: true
128
+ - php: '8.6'
129
+ extensions: 'minimal'
130
+ coverage: false
131
+ experimental: true
132
+
133
+ name: "Test: PHP ${{ matrix.php }} - ${{ matrix.extensions }}"
134
+
135
+ continue-on-error: ${{ matrix.experimental }}
136
+
137
+ permissions:
138
+ contents: read # to fetch code (actions/checkout)
139
+
140
+ steps:
141
+ - name: Check out code
142
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
143
+ with:
144
+ persist-credentials: false
145
+
146
+ # About the "extensions":
147
+ #
148
+ # In a "normal" test run, the "default" extension set for a PHP version is used
149
+ # and it is ensured that certain extensions will be available, no matter what.
150
+ #
151
+ # For the "minimal" test run, all extensions are disabled and then only
152
+ # a limited set of minimally required extensions are re-enabled.
153
+ # The minimal set is based on the required extensions from PHPUnit + PHPMailer combined
154
+ # + Curl for Composer.
155
+ # Whether Xdebug will be enabled depends on the code coverage settings.
156
+ #
157
+ # Also see:
158
+ # https://github.com/shivammathur/setup-php/?tab=readme-ov-file#heavy_plus_sign-php-extension-support
159
+ # https://github.com/shivammathur/setup-php/wiki
160
+ - name: Determine extensions to use
161
+ id: set_extensions
162
+ run: |
163
+ if [[ "${{ matrix.extensions }}" == "optimal" ]]; then
164
+ # Optimal.
165
+ echo 'EXT=imap, mbstring, openssl, intl, ctype, filter, hash' >> $GITHUB_OUTPUT
166
+ echo 'COMPOSER_OPTIONS=' >> $GITHUB_OUTPUT
167
+ else
168
+ # Minimal.
169
+ echo 'EXT=none, curl, dom, json, libxml, mbstring, tokenizer, xml, xmlwriter, ctype, filter, hash' >> $GITHUB_OUTPUT
170
+ echo 'COMPOSER_OPTIONS=--ignore-platform-req=ext-simplexml' >> $GITHUB_OUTPUT
171
+ fi
172
+
173
+ - name: Set up PHP
174
+ uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # 2.36.0
175
+ with:
176
+ php-version: ${{ matrix.php }}
177
+ coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
178
+ ini-values: sendmail_path=/usr/sbin/sendmail -t -i, error_reporting=-1, display_errors=On, display_startup_errors=On
179
+ extensions: ${{ steps.set_extensions.outputs.EXT }}
180
+
181
+ # Install dependencies and handle caching in one go.
182
+ # @link https://github.com/marketplace/actions/install-php-dependencies-with-composer
183
+ - name: Install PHP packages - normal
184
+ if: ${{ matrix.php != '8.6' }}
185
+ uses: "ramsey/composer-install@3cf229dc2919194e9e36783941438d17239e8520" # 3.1.1
186
+ with:
187
+ composer-options: ${{ steps.set_extensions.outputs.COMPOSER_OPTIONS }}
188
+ # Bust the cache at least once a month - output format: YYYY-MM.
189
+ custom-cache-suffix: $(date -u "+%Y-%m")
190
+
191
+ - name: Install PHP packages - ignore-platform-reqs
192
+ if: ${{ matrix.php == '8.6' }}
193
+ uses: "ramsey/composer-install@3cf229dc2919194e9e36783941438d17239e8520" # 3.1.1
194
+ with:
195
+ composer-options: --ignore-platform-reqs ${{ steps.set_extensions.outputs.COMPOSER_OPTIONS }}
196
+ # Bust the cache at least once a month - output format: YYYY-MM.
197
+ custom-cache-suffix: $(date -u "+%Y-%m")
198
+
199
+ # Install postfix and automatically retry if the install failed, which happens reguarly.
200
+ # @link https://github.com/marketplace/actions/retry-step
201
+ - name: Install postfix
202
+ uses: nick-invision/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3.0.2
203
+ with:
204
+ timeout_minutes: 2
205
+ max_attempts: 3
206
+ retry_wait_seconds: 8
207
+ command: |
208
+ sudo apt-get install --fix-broken -y libsqlite3-0 postfix
209
+ sudo systemctl stop postfix.service
210
+
211
+ - name: Set up sendmail
212
+ run: |
213
+ smtp-sink -d "%d.%H.%M.%S" localhost:2500 1000 &
214
+ mkdir -p build/logs
215
+ sudo cp test/testbootstrap-dist.php test/testbootstrap.php
216
+ sudo chmod +x test/fakesendmail.sh
217
+ sudo mkdir -p /var/qmail/bin
218
+ sudo cp test/fakesendmail.sh /var/qmail/bin/sendmail
219
+ sudo cp test/fakesendmail.sh /usr/sbin/sendmail
220
+
221
+ - name: Run tests, no code coverage
222
+ if: ${{ matrix.coverage == false }}
223
+ run: ./vendor/bin/phpunit --no-coverage
224
+
225
+ - name: Run tests with code coverage
226
+ if: ${{ matrix.coverage == true }}
227
+ run: vendor/bin/phpunit
228
+
229
+ - name: Send coverage report to Codecov
230
+ if: ${{ success() && matrix.coverage == true && github.event.repository.fork == false }}
231
+ uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
232
+ env:
233
+ CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
234
+ with:
235
+ files: ./build/logs/clover.xml
236
+ fail_ci_if_error: true
237
+ verbose: true