gulp-phug 1.3.4 → 2.0.0

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 (304) hide show
  1. package/README.md +26 -0
  2. package/index.js +38 -10
  3. package/package.json +4 -4
  4. package/support/bootstrap.php +6 -0
  5. package/support/composer.json +1 -1
  6. package/support/composer.lock +94 -179
  7. package/support/vendor/autoload.php +15 -0
  8. package/support/vendor/bin/phug +119 -0
  9. package/support/vendor/bin/var-dump-server +119 -0
  10. package/support/vendor/composer/ClassLoader.php +166 -32
  11. package/support/vendor/composer/InstalledVersions.php +387 -329
  12. package/support/vendor/composer/autoload_classmap.php +1 -5
  13. package/support/vendor/composer/autoload_files.php +2 -3
  14. package/support/vendor/composer/autoload_namespaces.php +1 -1
  15. package/support/vendor/composer/autoload_psr4.php +3 -4
  16. package/support/vendor/composer/autoload_real.php +12 -37
  17. package/support/vendor/composer/autoload_static.php +6 -17
  18. package/support/vendor/composer/installed.json +99 -186
  19. package/support/vendor/composer/installed.php +129 -151
  20. package/support/vendor/composer/platform_check.php +15 -4
  21. package/support/vendor/phug/phug/.github/workflows/coverage.yml +61 -0
  22. package/support/vendor/phug/phug/.github/workflows/multi-tester.yml +48 -0
  23. package/support/vendor/phug/phug/.github/workflows/split.yml +41 -0
  24. package/support/vendor/phug/phug/.github/workflows/style.yml +48 -0
  25. package/support/vendor/phug/phug/.github/workflows/tests.yml +48 -0
  26. package/support/vendor/phug/phug/.multi-tester.yml +47 -17
  27. package/support/vendor/phug/phug/composer.json +27 -18
  28. package/support/vendor/phug/phug/phpcs.xml +4 -0
  29. package/support/vendor/phug/phug/phpunit.xml +2 -0
  30. package/support/vendor/phug/phug/phug +1 -1
  31. package/support/vendor/phug/phug/release.php +8 -0
  32. package/support/vendor/phug/phug/src/Phug/Ast/Ast/Node.php +9 -3
  33. package/support/vendor/phug/phug/src/Phug/Ast/composer.json +2 -3
  34. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/AbstractNodeCompiler.php +4 -4
  35. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/Element/BlockElement.php +4 -4
  36. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AssignmentListNodeCompiler.php +1 -1
  37. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AssignmentNodeCompiler.php +10 -2
  38. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AttributeListNodeCompiler.php +1 -1
  39. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AttributeNodeCompiler.php +2 -1
  40. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/BlockNodeCompiler.php +3 -3
  41. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/CaseNodeCompiler.php +1 -1
  42. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/CodeNodeCompiler.php +2 -2
  43. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/CommentNodeCompiler.php +1 -1
  44. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ConditionalNodeCompiler.php +1 -1
  45. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/DoNodeCompiler.php +1 -1
  46. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/DoctypeNodeCompiler.php +1 -1
  47. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/DocumentNodeCompiler.php +1 -1
  48. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/EachNodeCompiler.php +1 -1
  49. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ElementNodeCompiler.php +7 -1
  50. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ExpressionNodeCompiler.php +1 -1
  51. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/FilterNodeCompiler.php +1 -1
  52. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ForNodeCompiler.php +1 -1
  53. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ImportNodeCompiler.php +5 -5
  54. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/KeywordNodeCompiler.php +1 -1
  55. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/MixinCallNodeCompiler.php +1 -1
  56. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/MixinNodeCompiler.php +1 -1
  57. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/TextNodeCompiler.php +1 -1
  58. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/VariableNodeCompiler.php +1 -1
  59. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/WhenNodeCompiler.php +1 -1
  60. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/WhileNodeCompiler.php +1 -1
  61. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/YieldNodeCompiler.php +1 -1
  62. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompilerInterface.php +5 -5
  63. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler.php +2 -2
  64. package/support/vendor/phug/phug/src/Phug/Compiler/CompilerInterface.php +2 -2
  65. package/support/vendor/phug/phug/src/Phug/Compiler/composer.json +10 -7
  66. package/support/vendor/phug/phug/src/Phug/DependencyInjection/DependencyInjection.php +1 -1
  67. package/support/vendor/phug/phug/src/Phug/DependencyInjection/composer.json +3 -4
  68. package/support/vendor/phug/phug/src/Phug/Event/Event/ListenerQueue.php +3 -0
  69. package/support/vendor/phug/phug/src/Phug/Event/EventManagerTrait.php +1 -1
  70. package/support/vendor/phug/phug/src/Phug/Event/composer.json +2 -3
  71. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AbstractElement.php +1 -1
  72. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AbstractFormat.php +17 -14
  73. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AssignmentContainerInterface.php +2 -1
  74. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractAssignmentContainerElement.php +11 -1
  75. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractMarkupElement.php +1 -1
  76. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractValueElement.php +3 -3
  77. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AnonymousBlockElement.php +1 -1
  78. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AssignmentElement.php +13 -8
  79. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AttributeElement.php +7 -4
  80. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/CodeElement.php +5 -5
  81. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/KeywordElement.php +3 -3
  82. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MarkupElement.php +13 -11
  83. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MixinCallElement.php +2 -1
  84. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MixinElement.php +2 -1
  85. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/VariableElement.php +5 -5
  86. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Event/FormatEvent.php +1 -1
  87. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/HtmlFormat.php +1 -1
  88. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/XhtmlFormat.php +1 -1
  89. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/XmlFormat.php +214 -21
  90. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/FormatInterface.php +1 -1
  91. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/AssignmentHelpersTrait.php +7 -4
  92. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/HandleVariable.php +4 -4
  93. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/MagicAccessorTrait.php +1 -7
  94. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/PatternTrait.php +1 -1
  95. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter.php +1 -1
  96. package/support/vendor/phug/phug/src/Phug/Formatter/composer.json +5 -6
  97. package/support/vendor/phug/phug/src/Phug/Invoker/Invoker.php +1 -1
  98. package/support/vendor/phug/phug/src/Phug/Invoker/composer.json +9 -6
  99. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/AbstractToken.php +1 -1
  100. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Partial/IndentStyleTrait.php +5 -5
  101. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/AssignmentScanner.php +8 -2
  102. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/AttributeScanner.php +24 -12
  103. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/ConditionalScanner.php +1 -1
  104. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/FilterScanner.php +6 -10
  105. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/IndentationScanner.php +2 -2
  106. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/KeywordScanner.php +1 -1
  107. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/MultilineScanner.php +6 -12
  108. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/Partial/TrailingOutdentHandlerTrait.php +26 -0
  109. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/TextScanner.php +3 -3
  110. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/State.php +9 -9
  111. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/TokenInterface.php +1 -1
  112. package/support/vendor/phug/phug/src/Phug/Lexer/composer.json +4 -5
  113. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Event/NodeEvent.php +3 -2
  114. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/AssignmentNode.php +5 -1
  115. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/AttributeNode.php +4 -1
  116. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/ElementNode.php +5 -1
  117. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/FilterNode.php +2 -1
  118. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/MixinCallNode.php +5 -1
  119. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/MixinNode.php +5 -1
  120. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node.php +5 -5
  121. package/support/vendor/phug/phug/src/Phug/Parser/Parser/State.php +4 -4
  122. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AbstractTokenHandler.php +87 -0
  123. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AssignmentTokenHandler.php +6 -21
  124. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeEndTokenHandler.php +5 -10
  125. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeStartTokenHandler.php +7 -23
  126. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeTokenHandler.php +21 -19
  127. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AutoCloseTokenHandler.php +5 -17
  128. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/BlockTokenHandler.php +4 -10
  129. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CaseTokenHandler.php +4 -10
  130. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ClassTokenHandler.php +7 -34
  131. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CodeTokenHandler.php +4 -10
  132. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CommentTokenHandler.php +4 -10
  133. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ConditionalTokenHandler.php +4 -10
  134. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/DoTokenHandler.php +4 -10
  135. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/DoctypeTokenHandler.php +4 -10
  136. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/EachTokenHandler.php +4 -10
  137. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ExpansionTokenHandler.php +5 -11
  138. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ExpressionTokenHandler.php +4 -10
  139. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/FilterTokenHandler.php +4 -10
  140. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ForTokenHandler.php +4 -10
  141. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/IdTokenHandler.php +7 -33
  142. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ImportTokenHandler.php +14 -20
  143. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/IndentTokenHandler.php +4 -10
  144. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/InterpolationEndTokenHandler.php +4 -10
  145. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/InterpolationStartTokenHandler.php +29 -30
  146. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/KeywordTokenHandler.php +4 -10
  147. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/MixinCallTokenHandler.php +4 -10
  148. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/MixinTokenHandler.php +4 -10
  149. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/NewLineTokenHandler.php +4 -10
  150. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/OutdentTokenHandler.php +4 -10
  151. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/Partial/StaticAttributeTrait.php +36 -0
  152. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagInterpolationEndTokenHandler.php +4 -10
  153. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagInterpolationStartTokenHandler.php +7 -10
  154. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagTokenHandler.php +6 -21
  155. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TextTokenHandler.php +4 -10
  156. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/VariableTokenHandler.php +4 -10
  157. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/WhenTokenHandler.php +4 -10
  158. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/WhileTokenHandler.php +4 -10
  159. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/YieldTokenHandler.php +4 -10
  160. package/support/vendor/phug/phug/src/Phug/Parser/Parser.php +1 -1
  161. package/support/vendor/phug/phug/src/Phug/Parser/ParserException.php +1 -1
  162. package/support/vendor/phug/phug/src/Phug/Parser/composer.json +5 -6
  163. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Cli.php +5 -5
  164. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/ExtensionsTrait.php +1 -1
  165. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/FacadeOptionsTrait.php +1 -1
  166. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/PluginEnablerTrait.php +1 -1
  167. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Phug.php +14 -5
  168. package/support/vendor/phug/phug/src/Phug/Phug/composer.json +9 -6
  169. package/support/vendor/phug/phug/src/Phug/Reader/Reader.php +13 -13
  170. package/support/vendor/phug/phug/src/Phug/Reader/composer.json +6 -2
  171. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/FileAdapter.php +21 -4
  172. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/Stream/Template.php +5 -0
  173. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/StreamAdapter.php +1 -1
  174. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/CacheInterface.php +1 -1
  175. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/AdapterTrait.php +1 -1
  176. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/Debug/DebuggerTrait.php +56 -10
  177. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/RendererOptionsTrait.php +1 -1
  178. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/Dump.php +1 -1
  179. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/LinkDump.php +2 -2
  180. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/ProfilerModule.php +1 -1
  181. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Task/TasksGroup.php +1 -1
  182. package/support/vendor/phug/phug/src/Phug/Renderer/composer.json +10 -6
  183. package/support/vendor/phug/phug/src/Phug/Util/CompatibilityUtil/TestCaseTyped.php +67 -0
  184. package/support/vendor/phug/phug/src/Phug/Util/CompatibilityUtil/TestCaseUntyped.php +67 -0
  185. package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesInterface.php +16 -0
  186. package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesOrderInterface.php +17 -0
  187. package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesStorage.php +44 -0
  188. package/support/vendor/phug/phug/src/Phug/Util/Util/Collection.php +2 -0
  189. package/support/vendor/phug/phug/src/Phug/Util/Util/OrderableInterface.php +22 -0
  190. package/support/vendor/phug/phug/src/Phug/Util/Util/OrderedValue.php +25 -0
  191. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/AttributeTrait.php +2 -1
  192. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/AttributesOrderTrait.php +19 -0
  193. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/ModuleContainerTrait.php +3 -3
  194. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/OptionTrait.php +1 -1
  195. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/OrderTrait.php +27 -0
  196. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/StaticMemberTrait.php +1 -1
  197. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/ValueTrait.php +5 -3
  198. package/support/vendor/phug/phug/src/Phug/Util/Util/SandBox.php +2 -1
  199. package/support/vendor/phug/phug/src/Phug/Util/Util/TestCase.php +47 -4
  200. package/support/vendor/phug/phug/src/Phug/Util/composer.json +7 -8
  201. package/support/vendor/symfony/deprecation-contracts/CHANGELOG.md +5 -0
  202. package/support/vendor/symfony/{polyfill-php72 → deprecation-contracts}/LICENSE +1 -1
  203. package/support/vendor/symfony/deprecation-contracts/README.md +26 -0
  204. package/support/vendor/symfony/{polyfill-php72 → deprecation-contracts}/composer.json +9 -9
  205. package/support/vendor/symfony/deprecation-contracts/function.php +27 -0
  206. package/support/vendor/symfony/polyfill-mbstring/LICENSE +1 -1
  207. package/support/vendor/symfony/polyfill-mbstring/Mbstring.php +256 -57
  208. package/support/vendor/symfony/polyfill-mbstring/README.md +1 -1
  209. package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -0
  210. package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1 -1
  211. package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +102 -27
  212. package/support/vendor/symfony/polyfill-mbstring/bootstrap.php +33 -8
  213. package/support/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -0
  214. package/support/vendor/symfony/polyfill-mbstring/composer.json +5 -4
  215. package/support/vendor/symfony/var-dumper/CHANGELOG.md +63 -0
  216. package/support/vendor/symfony/var-dumper/Caster/AddressInfoCaster.php +82 -0
  217. package/support/vendor/symfony/var-dumper/Caster/AmqpCaster.php +12 -10
  218. package/support/vendor/symfony/var-dumper/Caster/ArgsStub.php +6 -7
  219. package/support/vendor/symfony/var-dumper/Caster/Caster.php +59 -31
  220. package/support/vendor/symfony/var-dumper/Caster/ClassStub.php +7 -9
  221. package/support/vendor/symfony/var-dumper/Caster/ConstStub.php +20 -4
  222. package/support/vendor/symfony/var-dumper/Caster/CurlCaster.php +31 -0
  223. package/support/vendor/symfony/var-dumper/Caster/CutArrayStub.php +1 -1
  224. package/support/vendor/symfony/var-dumper/Caster/CutStub.php +2 -2
  225. package/support/vendor/symfony/var-dumper/Caster/DOMCaster.php +61 -156
  226. package/support/vendor/symfony/var-dumper/Caster/DateCaster.php +27 -26
  227. package/support/vendor/symfony/var-dumper/Caster/DoctrineCaster.php +6 -4
  228. package/support/vendor/symfony/var-dumper/Caster/DsCaster.php +1 -1
  229. package/support/vendor/symfony/var-dumper/Caster/DsPairStub.php +1 -1
  230. package/support/vendor/symfony/var-dumper/Caster/EnumStub.php +4 -5
  231. package/support/vendor/symfony/var-dumper/Caster/ExceptionCaster.php +64 -49
  232. package/support/vendor/symfony/var-dumper/Caster/FFICaster.php +171 -0
  233. package/support/vendor/symfony/var-dumper/Caster/FiberCaster.php +43 -0
  234. package/support/vendor/symfony/var-dumper/Caster/FrameStub.php +6 -8
  235. package/support/vendor/symfony/var-dumper/Caster/GdCaster.php +30 -0
  236. package/support/vendor/symfony/var-dumper/Caster/GmpCaster.php +4 -2
  237. package/support/vendor/symfony/var-dumper/Caster/ImagineCaster.php +2 -0
  238. package/support/vendor/symfony/var-dumper/Caster/ImgStub.php +1 -1
  239. package/support/vendor/symfony/var-dumper/Caster/IntlCaster.php +10 -8
  240. package/support/vendor/symfony/var-dumper/Caster/LinkStub.php +14 -17
  241. package/support/vendor/symfony/var-dumper/Caster/MemcachedCaster.php +10 -8
  242. package/support/vendor/symfony/var-dumper/Caster/MysqliCaster.php +33 -0
  243. package/support/vendor/symfony/var-dumper/Caster/OpenSSLCaster.php +69 -0
  244. package/support/vendor/symfony/var-dumper/Caster/PdoCaster.php +8 -6
  245. package/support/vendor/symfony/var-dumper/Caster/PgSqlCaster.php +21 -19
  246. package/support/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php +4 -2
  247. package/support/vendor/symfony/var-dumper/Caster/RdKafkaCaster.php +188 -0
  248. package/support/vendor/symfony/var-dumper/Caster/RedisCaster.php +31 -31
  249. package/support/vendor/symfony/var-dumper/Caster/ReflectionCaster.php +100 -44
  250. package/support/vendor/symfony/var-dumper/Caster/ResourceCaster.php +33 -46
  251. package/support/vendor/symfony/var-dumper/Caster/ScalarStub.php +27 -0
  252. package/support/vendor/symfony/var-dumper/Caster/SocketCaster.php +64 -0
  253. package/support/vendor/symfony/var-dumper/Caster/SplCaster.php +57 -44
  254. package/support/vendor/symfony/var-dumper/Caster/SqliteCaster.php +32 -0
  255. package/support/vendor/symfony/var-dumper/Caster/StubCaster.php +15 -5
  256. package/support/vendor/symfony/var-dumper/Caster/SymfonyCaster.php +66 -10
  257. package/support/vendor/symfony/var-dumper/Caster/TraceStub.php +7 -11
  258. package/support/vendor/symfony/var-dumper/Caster/UninitializedStub.php +25 -0
  259. package/support/vendor/symfony/var-dumper/Caster/UuidCaster.php +2 -0
  260. package/support/vendor/symfony/var-dumper/Caster/VirtualStub.php +21 -0
  261. package/support/vendor/symfony/var-dumper/Caster/XmlReaderCaster.php +25 -10
  262. package/support/vendor/symfony/var-dumper/Caster/XmlResourceCaster.php +7 -5
  263. package/support/vendor/symfony/var-dumper/Cloner/AbstractCloner.php +103 -72
  264. package/support/vendor/symfony/var-dumper/Cloner/ClonerInterface.php +1 -5
  265. package/support/vendor/symfony/var-dumper/Cloner/Cursor.php +21 -21
  266. package/support/vendor/symfony/var-dumper/Cloner/Data.php +51 -77
  267. package/support/vendor/symfony/var-dumper/Cloner/DumperInterface.php +11 -14
  268. package/support/vendor/symfony/var-dumper/Cloner/Stub.php +40 -31
  269. package/support/vendor/symfony/var-dumper/Cloner/VarCloner.php +21 -104
  270. package/support/vendor/symfony/var-dumper/Command/Descriptor/CliDescriptor.php +9 -19
  271. package/support/vendor/symfony/var-dumper/Command/Descriptor/HtmlDescriptor.php +10 -11
  272. package/support/vendor/symfony/var-dumper/Command/ServerDumpCommand.php +27 -15
  273. package/support/vendor/symfony/var-dumper/Dumper/AbstractDumper.php +68 -48
  274. package/support/vendor/symfony/var-dumper/Dumper/CliDumper.php +126 -113
  275. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/CliContextProvider.php +1 -1
  276. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/ContextProviderInterface.php +0 -3
  277. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/RequestContextProvider.php +5 -6
  278. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php +10 -15
  279. package/support/vendor/symfony/var-dumper/Dumper/ContextualizedDumper.php +8 -11
  280. package/support/vendor/symfony/var-dumper/Dumper/DataDumperInterface.php +3 -0
  281. package/support/vendor/symfony/var-dumper/Dumper/HtmlDumper.php +122 -146
  282. package/support/vendor/symfony/var-dumper/Dumper/ServerDumper.php +10 -10
  283. package/support/vendor/symfony/var-dumper/Exception/ThrowingCasterException.php +1 -1
  284. package/support/vendor/symfony/var-dumper/LICENSE +1 -1
  285. package/support/vendor/symfony/var-dumper/README.md +6 -6
  286. package/support/vendor/symfony/var-dumper/Resources/bin/var-dump-server +4 -0
  287. package/support/vendor/symfony/var-dumper/Resources/functions/dump.php +35 -10
  288. package/support/vendor/symfony/var-dumper/Server/Connection.php +16 -14
  289. package/support/vendor/symfony/var-dumper/Server/DumpServer.php +16 -14
  290. package/support/vendor/symfony/var-dumper/Test/VarDumperTestTrait.php +9 -9
  291. package/support/vendor/symfony/var-dumper/VarDumper.php +69 -17
  292. package/support/vendor/symfony/var-dumper/composer.json +10 -16
  293. package/support/vendor/symfony/polyfill-php72/Php72.php +0 -217
  294. package/support/vendor/symfony/polyfill-php72/README.md +0 -28
  295. package/support/vendor/symfony/polyfill-php72/bootstrap.php +0 -57
  296. package/support/vendor/symfony/polyfill-php80/LICENSE +0 -19
  297. package/support/vendor/symfony/polyfill-php80/Php80.php +0 -105
  298. package/support/vendor/symfony/polyfill-php80/README.md +0 -24
  299. package/support/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +0 -22
  300. package/support/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +0 -11
  301. package/support/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +0 -5
  302. package/support/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +0 -5
  303. package/support/vendor/symfony/polyfill-php80/bootstrap.php +0 -42
  304. package/support/vendor/symfony/polyfill-php80/composer.json +0 -40
@@ -0,0 +1,67 @@
1
+ <?php
2
+
3
+ namespace Phug\CompatibilityUtil;
4
+
5
+ use PHPUnit\Framework\TestCase as PHPUnitTestCase;
6
+
7
+ // @codeCoverageIgnoreStart
8
+ if (!isset($testCaseInitialization) || !class_exists(TestCaseTypeBase::class, false)) {
9
+ return;
10
+ }
11
+
12
+ class TestCaseTypeBase extends PHPUnitTestCase
13
+ {
14
+ protected function prepareTest()
15
+ {
16
+ // Override
17
+ }
18
+
19
+ protected function finishTest()
20
+ {
21
+ // Override
22
+ }
23
+
24
+ protected function setUp(): void
25
+ {
26
+ $this->prepareTest();
27
+ }
28
+
29
+ protected function tearDown(): void
30
+ {
31
+ $this->finishTest();
32
+ }
33
+
34
+ public static function assertMatchesRegularExpression(string $pattern, string $string, string $message = ''): void
35
+ {
36
+ if (!method_exists(parent::class, 'assertMatchesRegularExpression')) {
37
+ self::assertRegExp($pattern, $string, $message);
38
+
39
+ return;
40
+ }
41
+
42
+ parent::assertMatchesRegularExpression($pattern, $string, $message);
43
+ }
44
+
45
+ public static function assertFileDoesNotExist(string $filename, string $message = ''): void
46
+ {
47
+ if (!method_exists(parent::class, 'assertFileDoesNotExist')) {
48
+ self::assertFileNotExists($filename, $message);
49
+
50
+ return;
51
+ }
52
+
53
+ parent::assertFileDoesNotExist($filename, $message);
54
+ }
55
+
56
+ public static function assertIsArray($actual, string $message = ''): void
57
+ {
58
+ if (!method_exists(parent::class, 'assertIsArray')) {
59
+ self::assertSame('array', gettype($actual));
60
+
61
+ return;
62
+ }
63
+
64
+ parent::assertIsArray($actual, $message);
65
+ }
66
+ }
67
+ // @codeCoverageIgnoreEnd
@@ -0,0 +1,67 @@
1
+ <?php
2
+
3
+ namespace Phug\CompatibilityUtil;
4
+
5
+ use PHPUnit\Framework\TestCase as PHPUnitTestCase;
6
+
7
+ // @codeCoverageIgnoreStart
8
+ if (!isset($testCaseInitialization) || !class_exists(TestCaseTypeBase::class, false)) {
9
+ return;
10
+ }
11
+
12
+ class TestCaseTypeBase extends PHPUnitTestCase
13
+ {
14
+ protected function prepareTest()
15
+ {
16
+ // Override
17
+ }
18
+
19
+ protected function finishTest()
20
+ {
21
+ // Override
22
+ }
23
+
24
+ protected function setUp(): void
25
+ {
26
+ $this->prepareTest();
27
+ }
28
+
29
+ protected function tearDown(): void
30
+ {
31
+ $this->finishTest();
32
+ }
33
+
34
+ public static function assertMatchesRegularExpression(string $pattern, string $string, string $message = ''): void
35
+ {
36
+ if (!method_exists(parent::class, 'assertMatchesRegularExpression')) {
37
+ self::assertRegExp($pattern, $string, $message);
38
+
39
+ return;
40
+ }
41
+
42
+ parent::assertMatchesRegularExpression($pattern, $string, $message);
43
+ }
44
+
45
+ public static function assertFileDoesNotExist(string $filename, string $message = ''): void
46
+ {
47
+ if (!method_exists(parent::class, 'assertFileDoesNotExist')) {
48
+ self::assertFileNotExists($filename, $message);
49
+
50
+ return;
51
+ }
52
+
53
+ parent::assertFileDoesNotExist($filename, $message);
54
+ }
55
+
56
+ public static function assertIsArray($actual, string $message = ''): void
57
+ {
58
+ if (!method_exists(parent::class, 'assertIsArray')) {
59
+ self::assertSame('array', gettype($actual));
60
+
61
+ return;
62
+ }
63
+
64
+ parent::assertIsArray($actual, $message);
65
+ }
66
+ }
67
+ // @codeCoverageIgnoreEnd
@@ -0,0 +1,16 @@
1
+ <?php
2
+
3
+ namespace Phug\Util;
4
+
5
+ use SplObjectStorage;
6
+
7
+ /**
8
+ * Interface AttributesInterface.
9
+ */
10
+ interface AttributesInterface
11
+ {
12
+ /**
13
+ * @return SplObjectStorage
14
+ */
15
+ public function getAttributes();
16
+ }
@@ -0,0 +1,17 @@
1
+ <?php
2
+
3
+ namespace Phug\Util;
4
+
5
+ /**
6
+ * Interface AttributesOrderInterface.
7
+ *
8
+ * Allow objects that have attributes to remember of the order in which attributes and assignments
9
+ * were added to them.
10
+ */
11
+ interface AttributesOrderInterface
12
+ {
13
+ /**
14
+ * @return int
15
+ */
16
+ public function getNextAttributeIndex();
17
+ }
@@ -0,0 +1,44 @@
1
+ <?php
2
+
3
+ namespace Phug\Util;
4
+
5
+ use ReturnTypeWillChange;
6
+ use SplObjectStorage;
7
+
8
+ class AttributesStorage extends SplObjectStorage
9
+ {
10
+ /** @var mixed */
11
+ private $holder;
12
+
13
+ public function __construct($holder)
14
+ {
15
+ $this->holder = $holder;
16
+ }
17
+
18
+ #[ReturnTypeWillChange]
19
+ public function attach($object, $info = null)
20
+ {
21
+ if ($object instanceof OrderableInterface &&
22
+ $object->getOrder() === null &&
23
+ $this->holder instanceof AttributesOrderInterface
24
+ ) {
25
+ $object->setOrder($this->holder->getNextAttributeIndex());
26
+ }
27
+
28
+ parent::attach($object, $info);
29
+ }
30
+
31
+ #[ReturnTypeWillChange]
32
+ public function addAll($storage)
33
+ {
34
+ if ($storage && $this->holder instanceof AttributesOrderInterface) {
35
+ foreach ($storage as $element) {
36
+ if ($element instanceof OrderableInterface && $element->getOrder() === null) {
37
+ $element->setOrder($this->holder->getNextAttributeIndex());
38
+ }
39
+ }
40
+ }
41
+
42
+ parent::addAll($storage);
43
+ }
44
+ }
@@ -4,6 +4,7 @@ namespace Phug\Util;
4
4
 
5
5
  use Generator;
6
6
  use IteratorAggregate;
7
+ use ReturnTypeWillChange;
7
8
  use Traversable;
8
9
 
9
10
  class Collection implements IteratorAggregate
@@ -51,6 +52,7 @@ class Collection implements IteratorAggregate
51
52
  *
52
53
  * @return Traversable An instance of an object implementing <b>Iterator</b> or <b>Traversable</b>
53
54
  */
55
+ #[ReturnTypeWillChange]
54
56
  public function getIterator()
55
57
  {
56
58
  return $this->traversable instanceof Traversable ? $this->traversable : $this->getGenerator();
@@ -0,0 +1,22 @@
1
+ <?php
2
+
3
+ namespace Phug\Util;
4
+
5
+ /**
6
+ * Interface OrderableInterface.
7
+ *
8
+ * Allow objects to have an order index which allow, when compared to others in a list,
9
+ * to know if they were added earlier or later.
10
+ */
11
+ interface OrderableInterface
12
+ {
13
+ /**
14
+ * @return int|null
15
+ */
16
+ public function getOrder();
17
+
18
+ /**
19
+ * @param int|null $order
20
+ */
21
+ public function setOrder($order);
22
+ }
@@ -0,0 +1,25 @@
1
+ <?php
2
+
3
+ namespace Phug\Util;
4
+
5
+ use Phug\Util\Partial\OrderTrait;
6
+ use Phug\Util\Partial\ValueTrait;
7
+
8
+ /**
9
+ * Class OrderedValue.
10
+ *
11
+ * @template T
12
+ *
13
+ * @template-implements ValueTrait<T>
14
+ */
15
+ class OrderedValue implements OrderableInterface
16
+ {
17
+ use ValueTrait;
18
+ use OrderTrait;
19
+
20
+ public function __construct($value, $order)
21
+ {
22
+ $this->value = $value;
23
+ $this->order = $order;
24
+ }
25
+ }
@@ -2,6 +2,7 @@
2
2
 
3
3
  namespace Phug\Util\Partial;
4
4
 
5
+ use Phug\Util\AttributesStorage;
5
6
  use SplObjectStorage;
6
7
 
7
8
  /**
@@ -20,7 +21,7 @@ trait AttributeTrait
20
21
  public function getAttributes()
21
22
  {
22
23
  if (!$this->attributes) {
23
- $this->attributes = new SplObjectStorage();
24
+ $this->attributes = new AttributesStorage($this);
24
25
  }
25
26
 
26
27
  return $this->attributes;
@@ -0,0 +1,19 @@
1
+ <?php
2
+
3
+ namespace Phug\Util\Partial;
4
+
5
+ trait AttributesOrderTrait
6
+ {
7
+ /**
8
+ * @var int
9
+ */
10
+ protected $attributeIndex = 0;
11
+
12
+ /**
13
+ * @return int
14
+ */
15
+ public function getNextAttributeIndex()
16
+ {
17
+ return $this->attributeIndex++;
18
+ }
19
+ }
@@ -27,7 +27,7 @@ trait ModuleContainerTrait
27
27
  public function hasModule($module)
28
28
  {
29
29
  return $module instanceof ModuleInterface
30
- ? in_array($module, $this->modules)
30
+ ? in_array($module, $this->modules, true)
31
31
  : isset($this->modules[$module]);
32
32
  }
33
33
 
@@ -69,7 +69,7 @@ trait ModuleContainerTrait
69
69
  public function addModule($module)
70
70
  {
71
71
  if ($module instanceof ModuleInterface) {
72
- if (in_array($module, $this->modules)) {
72
+ if (in_array($module, $this->modules, true)) {
73
73
  throw new InvalidArgumentException(
74
74
  'This occurrence of '.get_class($module).' is already registered.'
75
75
  );
@@ -142,7 +142,7 @@ trait ModuleContainerTrait
142
142
  public function removeModule($module)
143
143
  {
144
144
  if ($module instanceof ModuleInterface) {
145
- if (!in_array($module, $this->modules)) {
145
+ if (!in_array($module, $this->modules, true)) {
146
146
  throw new InvalidArgumentException(
147
147
  'This occurrence of '.get_class($module).' is not registered.'
148
148
  );
@@ -91,7 +91,7 @@ trait OptionTrait
91
91
 
92
92
  private function mergeOptionValue($name, $current, $addedValue, $functionName)
93
93
  {
94
- if ($functionName === $this->recursiveReplaceFunction && in_array($name, $this->nonDeepOptions)) {
94
+ if ($functionName === $this->recursiveReplaceFunction && in_array($name, $this->nonDeepOptions, true)) {
95
95
  $functionName = $this->replaceFunction;
96
96
  }
97
97
 
@@ -0,0 +1,27 @@
1
+ <?php
2
+
3
+ namespace Phug\Util\Partial;
4
+
5
+ trait OrderTrait
6
+ {
7
+ /**
8
+ * @var int|null
9
+ */
10
+ private $order = null;
11
+
12
+ /**
13
+ * @return int|null
14
+ */
15
+ public function getOrder()
16
+ {
17
+ return $this->order;
18
+ }
19
+
20
+ /**
21
+ * @param int|null $order
22
+ */
23
+ public function setOrder($order)
24
+ {
25
+ $this->order = $order;
26
+ }
27
+ }
@@ -19,7 +19,7 @@ trait StaticMemberTrait
19
19
  return
20
20
  count($tokens) === 1 &&
21
21
  is_array($tokens[0]) &&
22
- in_array($tokens[0][0], [T_CONSTANT_ENCAPSED_STRING, T_DNUMBER, T_LNUMBER]);
22
+ in_array($tokens[0][0], [T_CONSTANT_ENCAPSED_STRING, T_DNUMBER, T_LNUMBER], true);
23
23
  }
24
24
 
25
25
  return false;
@@ -4,18 +4,20 @@ namespace Phug\Util\Partial;
4
4
 
5
5
  /**
6
6
  * Class ValueTrait.
7
+ *
8
+ * @template T of mixed
7
9
  */
8
10
  trait ValueTrait
9
11
  {
10
12
  use StaticMemberTrait;
11
13
 
12
14
  /**
13
- * @var mixed
15
+ * @var T
14
16
  */
15
17
  private $value = null;
16
18
 
17
19
  /**
18
- * @return mixed
20
+ * @return T
19
21
  */
20
22
  public function getValue()
21
23
  {
@@ -31,7 +33,7 @@ trait ValueTrait
31
33
  }
32
34
 
33
35
  /**
34
- * @param mixed $value
36
+ * @param T $value
35
37
  *
36
38
  * @return $this
37
39
  */
@@ -23,7 +23,7 @@ class SandBox
23
23
  */
24
24
  private $throwable;
25
25
 
26
- public function __construct(callable $action, callable $errorInterceptor = null)
26
+ public function __construct(callable $action, ?callable $errorInterceptor = null)
27
27
  {
28
28
  set_error_handler($errorInterceptor ?: function ($number, $message, $file, $line) {
29
29
  if (error_reporting() & $number) {
@@ -33,6 +33,7 @@ class SandBox
33
33
  return false;
34
34
  });
35
35
  ob_start();
36
+
36
37
  // @codeCoverageIgnoreStart
37
38
  try {
38
39
  $this->result = $action();
@@ -3,8 +3,23 @@
3
3
  namespace Phug\Util;
4
4
 
5
5
  use PHPUnit\Framework\TestCase as PHPUnitTestCase;
6
+ use Phug\CompatibilityUtil\TestCaseTypeBase;
7
+ use ReflectionMethod;
6
8
 
7
- class TestCase extends PHPUnitTestCase
9
+ // @codeCoverageIgnoreStart
10
+ if (!class_exists(TestCaseTypeBase::class)) {
11
+ $setUp = @new ReflectionMethod(PHPUnitTestCase::class, 'setUp');
12
+ $testCaseInitialization = true;
13
+
14
+ require $setUp && method_exists($setUp, 'hasReturnType') && $setUp->hasReturnType()
15
+ ? __DIR__.'/../CompatibilityUtil/TestCaseTyped.php'
16
+ : __DIR__.'/../CompatibilityUtil/TestCaseUntyped.php';
17
+
18
+ unset($testCaseInitialization);
19
+ }
20
+ // @codeCoverageIgnoreEnd
21
+
22
+ class TestCase extends TestCaseTypeBase
8
23
  {
9
24
  /**
10
25
  * @var string
@@ -38,11 +53,39 @@ class TestCase extends PHPUnitTestCase
38
53
  }
39
54
  }
40
55
 
56
+ /**
57
+ * @codeCoverageIgnore
58
+ */
59
+ public static function assertStringContains($needle, $haystack, $message = '')
60
+ {
61
+ if (!method_exists(self::class, 'assertStringContainsString')) {
62
+ self::assertContains($needle, $haystack, $message);
63
+
64
+ return;
65
+ }
66
+
67
+ self::assertStringContainsString($needle, $haystack, $message);
68
+ }
69
+
70
+ /**
71
+ * @codeCoverageIgnore
72
+ */
73
+ public static function assertStringNotContains($needle, $haystack, $message = '')
74
+ {
75
+ if (!method_exists(self::class, 'assertStringNotContainsString')) {
76
+ self::assertNotContains($needle, $haystack, $message);
77
+
78
+ return;
79
+ }
80
+
81
+ self::assertStringNotContainsString($needle, $haystack, $message);
82
+ }
83
+
41
84
  protected function removeFile($file)
42
85
  {
43
86
  if (is_dir($file)) {
44
- $this->emptyDirectory($file);
45
- rmdir($file);
87
+ @$this->emptyDirectory($file);
88
+ @rmdir($file);
46
89
 
47
90
  return;
48
91
  }
@@ -67,7 +110,7 @@ class TestCase extends PHPUnitTestCase
67
110
  {
68
111
  if (file_exists($dir)) {
69
112
  if (is_dir($dir)) {
70
- $this->emptyDirectory($dir);
113
+ @$this->emptyDirectory($dir);
71
114
 
72
115
  return;
73
116
  }
@@ -7,13 +7,12 @@
7
7
  "homepage": "http://phug-lang.com",
8
8
  "authors": [
9
9
  {
10
- "name": "Torben Koehn",
11
- "email": "torben@talesoft.codes"
10
+ "name": "kylekatarnls",
11
+ "homepage": "http://github.com/kylekatarnls"
12
12
  },
13
13
  {
14
- "name": "KyleKatarn",
15
- "email": "jade-php@selfbuild.fr",
16
- "homepage": "http://github.com/kylekatarnls"
14
+ "name": "Torben Koehn",
15
+ "email": "torben@talesoft.codes"
17
16
  }
18
17
  ],
19
18
  "support": {
@@ -25,16 +24,16 @@
25
24
  "minimum-stability": "dev",
26
25
  "require": {
27
26
  "php": ">=5.5.0",
28
- "phug/event": "^0.1.0 || ^1.0"
27
+ "phug/event": "^0.1.0 || ^1.0 || ^2.0"
29
28
  },
30
29
  "autoload": {
31
30
  "psr-4": {
32
- "Phug\\": ""
31
+ "Phug\\Util\\": "Util/"
33
32
  }
34
33
  },
35
34
  "extra": {
36
35
  "branch-alias": {
37
- "dev-master": "1.x-dev"
36
+ "dev-master": "2.x-dev"
38
37
  }
39
38
  }
40
39
  }
@@ -0,0 +1,5 @@
1
+ CHANGELOG
2
+ =========
3
+
4
+ The changelog is maintained for all Symfony contracts at the following URL:
5
+ https://github.com/symfony/contracts/blob/main/CHANGELOG.md
@@ -1,4 +1,4 @@
1
- Copyright (c) 2015-2019 Fabien Potencier
1
+ Copyright (c) 2020-present Fabien Potencier
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal
@@ -0,0 +1,26 @@
1
+ Symfony Deprecation Contracts
2
+ =============================
3
+
4
+ A generic function and convention to trigger deprecation notices.
5
+
6
+ This package provides a single global function named `trigger_deprecation()` that triggers silenced deprecation notices.
7
+
8
+ By using a custom PHP error handler such as the one provided by the Symfony ErrorHandler component,
9
+ the triggered deprecations can be caught and logged for later discovery, both on dev and prod environments.
10
+
11
+ The function requires at least 3 arguments:
12
+ - the name of the Composer package that is triggering the deprecation
13
+ - the version of the package that introduced the deprecation
14
+ - the message of the deprecation
15
+ - more arguments can be provided: they will be inserted in the message using `printf()` formatting
16
+
17
+ Example:
18
+ ```php
19
+ trigger_deprecation('symfony/blockchain', '8.9', 'Using "%s" is deprecated, use "%s" instead.', 'bitcoin', 'fabcoin');
20
+ ```
21
+
22
+ This will generate the following message:
23
+ `Since symfony/blockchain 8.9: Using "bitcoin" is deprecated, use "fabcoin" instead.`
24
+
25
+ While not recommended, the deprecation notices can be completely ignored by declaring an empty
26
+ `function trigger_deprecation() {}` in your application.
@@ -1,8 +1,7 @@
1
1
  {
2
- "name": "symfony/polyfill-php72",
2
+ "name": "symfony/deprecation-contracts",
3
3
  "type": "library",
4
- "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
5
- "keywords": ["polyfill", "shim", "compatibility", "portable"],
4
+ "description": "A generic function and convention to trigger deprecation notices",
6
5
  "homepage": "https://symfony.com",
7
6
  "license": "MIT",
8
7
  "authors": [
@@ -16,20 +15,21 @@
16
15
  }
17
16
  ],
18
17
  "require": {
19
- "php": ">=7.1"
18
+ "php": ">=8.1"
20
19
  },
21
20
  "autoload": {
22
- "psr-4": { "Symfony\\Polyfill\\Php72\\": "" },
23
- "files": [ "bootstrap.php" ]
21
+ "files": [
22
+ "function.php"
23
+ ]
24
24
  },
25
25
  "minimum-stability": "dev",
26
26
  "extra": {
27
27
  "branch-alias": {
28
- "dev-main": "1.20-dev"
28
+ "dev-main": "3.6-dev"
29
29
  },
30
30
  "thanks": {
31
- "name": "symfony/polyfill",
32
- "url": "https://github.com/symfony/polyfill"
31
+ "name": "symfony/contracts",
32
+ "url": "https://github.com/symfony/contracts"
33
33
  }
34
34
  }
35
35
  }
@@ -0,0 +1,27 @@
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of the Symfony package.
5
+ *
6
+ * (c) Fabien Potencier <fabien@symfony.com>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+ if (!function_exists('trigger_deprecation')) {
13
+ /**
14
+ * Triggers a silenced deprecation notice.
15
+ *
16
+ * @param string $package The name of the Composer package that is triggering the deprecation
17
+ * @param string $version The version of the package that introduced the deprecation
18
+ * @param string $message The message of the deprecation
19
+ * @param mixed ...$args Values to insert in the message using printf() formatting
20
+ *
21
+ * @author Nicolas Grekas <p@tchwork.com>
22
+ */
23
+ function trigger_deprecation(string $package, string $version, string $message, mixed ...$args): void
24
+ {
25
+ @trigger_error(($package || $version ? "Since $package $version: " : '').($args ? vsprintf($message, $args) : $message), \E_USER_DEPRECATED);
26
+ }
27
+ }
@@ -1,4 +1,4 @@
1
- Copyright (c) 2015-2019 Fabien Potencier
1
+ Copyright (c) 2015-present Fabien Potencier
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal