From 6699ff3b2b8736dc3c869ee93cd22768458872b1 Mon Sep 17 00:00:00 2001 From: Pedro Palomera Date: Tue, 24 Feb 2026 10:04:45 +0100 Subject: [PATCH 1/4] chore: working on pre-commit --- .gitignore | 1 + .pre-commit-config.yaml | 28 + README.md | 15 + composer.json | 11 +- composer.lock | 571 ++++++++++++++++++ ...as-subpaths-AliasSubpathsAliasManager.html | 66 +- ...l-alias-subpaths-AliasSubpathsManager.html | 94 +-- ...s-subpaths-AliasSubpathsRouterManager.html | 56 +- ...entResolver-ArgumentResolverInterface.html | 56 +- ...ArgumentResolver-BaseArgumentResolver.html | 78 +-- ...umentResolver-DefaultArgumentResolver.html | 78 +-- ...dler-ArgumentResolverHandlerInterface.html | 42 +- ...ndler-SettingsArgumentResolverHandler.html | 54 +- ...dcrumb-AliasSubpathsBreadcrumbBuilder.html | 74 +-- ...che-Context-NodeArgumentsCacheContext.html | 96 +-- .../Drupal-alias-subpaths-ContextBag.html | 184 +++--- ...upal-alias-subpaths-ContextBagFactory.html | 60 +- .../Drupal-alias-subpaths-ContextManager.html | 80 +-- .../Drupal-alias-subpaths-ContextParam.html | 124 ++-- ...iber-ArgumentProcessorEventSubscriber.html | 118 ++-- ...hs-Exception-InvalidArgumentException.html | 42 +- ...xception-NotAllowedArgumentsException.html | 42 +- ...hProcessor-PathProcessorAliasSubpaths.html | 64 +- ...subpaths-Plugin-ArgumentProcessorBase.html | 158 ++--- ...ths-Plugin-ArgumentProcessorInterface.html | 38 +- ...paths-Plugin-ArgumentProcessorManager.html | 40 +- ...hs-Plugin-Attribute-ArgumentProcessor.html | 68 +-- ...lias-subpaths-Routing-RouteSubscriber.html | 42 +- ...AliasSubpathsPathTranslatorSubscriber.html | 72 +-- ...oupled-router-Routing-RouteSubscriber.html | 42 +- ...ths-decoupled-router-SerializerHelper.html | 38 +- ...gumentProcessor-NodeArgumentProcessor.html | 158 ++--- ...ocessor-TaxonomyTermArgumentProcessor.html | 158 ++--- docs/css/template.css | 2 +- docs/files/alias-subpaths.html | 34 +- ...outer-alias-subpaths-decoupled-router.html | 36 +- ...aliassubpathspathtranslatorsubscriber.html | 24 +- ...ed-router-src-routing-routesubscriber.html | 24 +- ...decoupled-router-src-serializerhelper.html | 24 +- ...aths-examples-alias-subpaths-examples.html | 34 +- ...gumentprocessor-nodeargumentprocessor.html | 24 +- ...ocessor-taxonomytermargumentprocessor.html | 24 +- docs/files/src-aliassubpathsaliasmanager.html | 24 +- docs/files/src-aliassubpathsmanager.html | 24 +- .../files/src-aliassubpathsroutermanager.html | 24 +- ...entresolver-argumentresolverinterface.html | 24 +- ...argumentresolver-baseargumentresolver.html | 24 +- ...umentresolver-defaultargumentresolver.html | 24 +- ...dler-argumentresolverhandlerinterface.html | 24 +- ...ndler-settingsargumentresolverhandler.html | 24 +- ...dcrumb-aliassubpathsbreadcrumbbuilder.html | 24 +- ...che-context-nodeargumentscachecontext.html | 24 +- docs/files/src-contextbag.html | 24 +- docs/files/src-contextbagfactory.html | 24 +- docs/files/src-contextmanager.html | 24 +- docs/files/src-contextparam.html | 24 +- ...iber-argumentprocessoreventsubscriber.html | 24 +- ...rc-exception-invalidargumentexception.html | 24 +- ...xception-notallowedargumentsexception.html | 24 +- ...hprocessor-pathprocessoraliassubpaths.html | 24 +- .../src-plugin-argumentprocessorbase.html | 24 +- ...src-plugin-argumentprocessorinterface.html | 24 +- .../src-plugin-argumentprocessormanager.html | 24 +- ...rc-plugin-attribute-argumentprocessor.html | 24 +- docs/files/src-routing-routesubscriber.html | 24 +- docs/graphs/classes.html | 14 +- docs/index.html | 52 +- docs/indices/files.html | 16 +- docs/js/template.js | 2 +- docs/namespaces/default.html | 54 +- ...rupal-alias-subpaths-argumentresolver.html | 24 +- ...lias-subpaths-argumentresolverhandler.html | 24 +- .../drupal-alias-subpaths-breadcrumb.html | 24 +- .../drupal-alias-subpaths-cache-context.html | 24 +- .../drupal-alias-subpaths-cache.html | 24 +- ...aths-decoupled-router-eventsubscriber.html | 24 +- ...ias-subpaths-decoupled-router-routing.html | 24 +- ...rupal-alias-subpaths-decoupled-router.html | 24 +- ...drupal-alias-subpaths-eventsubscriber.html | 24 +- .../drupal-alias-subpaths-exception.html | 24 +- ...ubpaths-node-plugin-argumentprocessor.html | 24 +- .../drupal-alias-subpaths-node-plugin.html | 24 +- .../drupal-alias-subpaths-node.html | 24 +- .../drupal-alias-subpaths-pathprocessor.html | 24 +- ...rupal-alias-subpaths-plugin-attribute.html | 24 +- .../drupal-alias-subpaths-plugin.html | 24 +- .../drupal-alias-subpaths-routing.html | 24 +- ...axonomy-term-plugin-argumentprocessor.html | 24 +- ...l-alias-subpaths-taxonomy-term-plugin.html | 24 +- .../drupal-alias-subpaths-taxonomy-term.html | 24 +- docs/namespaces/drupal-alias-subpaths.html | 24 +- docs/namespaces/drupal.html | 24 +- docs/packages/Application.html | 54 +- ...rupal-alias-subpaths-decoupled-router.html | 24 +- .../Drupal-alias-subpaths-decoupled.html | 24 +- docs/packages/Drupal-alias-subpaths.html | 24 +- docs/packages/Drupal-alias.html | 24 +- docs/packages/Drupal.html | 24 +- docs/packages/default.html | 24 +- docs/reports/deprecated.html | 16 +- docs/reports/errors.html | 18 +- docs/reports/markers.html | 16 +- 102 files changed, 2582 insertions(+), 1958 deletions(-) create mode 100644 .pre-commit-config.yaml create mode 100644 composer.lock diff --git a/.gitignore b/.gitignore index bbe354f..ac4f2fd 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .phpdoc +/vendor diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..8d96a95 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,28 @@ +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.6.0 + hooks: + - id: trailing-whitespace + - id: end-of-file-fixer + - id: check-merge-conflict + - id: check-yaml + - id: mixed-line-ending + args: [--fix=lf] + + - repo: local + hooks: + - id: phpcs-drupal + name: PHPCS - Drupal coding standards + entry: vendor/bin/phpcs + language: script + types: [php] + args: + - --standard=Drupal,DrupalPractice + - --extensions=php,module,inc,install,test,profile,theme,yml + pass_filenames: true + + - repo: https://github.com/commitizen-tools/commitizen + rev: v3.29.0 + hooks: + - id: commitizen + stages: [commit-msg] diff --git a/README.md b/README.md index d62132a..b6c0ab9 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,21 @@ the processed arguments, and it is available to use it anywhere. \Drupal::service('alias_subpaths.context_manager')->getProcessedContextBag(); ``` +## Requirements + +Install pre-commit + +# Mac +brew install pre-commit + +# Linux +pip install pre-commit + +# From project root +pre-commit install +pre-commit install --hook-type commit-msg + + ## Installation To install this module as mrmilu module inside `modules/mrmilu` folder following composer commands should be executed: - +
  • Properties
  • - +
  • Methods
  • - +
  • Properties
  • - +
  • Methods
  • - +
  • Properties
  • - +
  • Methods
  • - + diff --git a/docs/classes/Drupal-alias-subpaths-ArgumentResolver-BaseArgumentResolver.html b/docs/classes/Drupal-alias-subpaths-ArgumentResolver-BaseArgumentResolver.html index 1f94da8..caa82d7 100644 --- a/docs/classes/Drupal-alias-subpaths-ArgumentResolver-BaseArgumentResolver.html +++ b/docs/classes/Drupal-alias-subpaths-ArgumentResolver-BaseArgumentResolver.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -122,18 +122,18 @@

    Fil

    BaseArgumentResolver - + - + implements ArgumentResolverInterface - +

    @@ -234,7 +234,7 @@

    - +

    Constants @@ -255,8 +255,8 @@

    - - + + public mixed @@ -265,16 +265,16 @@

    - - - - + + + +

    - +

    @@ -308,12 +308,12 @@

    - - - - - + + + + +
    Return values
    @@ -351,12 +351,12 @@

    - - - - - + + + + +
    Return values
    @@ -394,8 +394,8 @@

    - - + +

    Parameters
    @@ -409,9 +409,9 @@
    Parameters
    - - + +
    Return values
    @@ -449,8 +449,8 @@

    - - + +

    Parameters
    @@ -464,9 +464,9 @@
    Parameters
    - - + +
    Return values
    @@ -575,7 +575,7 @@
    Return values
    - +
    On this page @@ -593,8 +593,8 @@
    Return values
  • PARAM_NAME
  • - - + +
  • Methods
    • diff --git a/docs/classes/Drupal-alias-subpaths-ArgumentResolver-DefaultArgumentResolver.html b/docs/classes/Drupal-alias-subpaths-ArgumentResolver-DefaultArgumentResolver.html index bd459a5..4fa1b80 100644 --- a/docs/classes/Drupal-alias-subpaths-ArgumentResolver-DefaultArgumentResolver.html +++ b/docs/classes/Drupal-alias-subpaths-ArgumentResolver-DefaultArgumentResolver.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

      @@ -91,12 +91,12 @@

  • - +

    Reports

    Deprecated

    @@ -125,15 +125,15 @@

    extends BaseArgumentResolver - +
    in package
    - - + +

    @@ -227,7 +227,7 @@

    - +

    Constants @@ -248,8 +248,8 @@

    - - + + public mixed @@ -258,16 +258,16 @@

    - - - - + + + +

    - +

    @@ -301,12 +301,12 @@

    - - - - - + + + + +
    Return values
    @@ -344,12 +344,12 @@

    - - - - - + + + + +
    Return values
    @@ -387,8 +387,8 @@

    - - + +

    Parameters
    @@ -402,9 +402,9 @@
    Parameters
    - - + +
    Return values
    @@ -442,8 +442,8 @@

    - - + +

    Parameters
    @@ -457,9 +457,9 @@
    Parameters
    - - + +
    Return values
    @@ -568,7 +568,7 @@
    Return values
    - +
    On this page @@ -586,8 +586,8 @@
    Return values
  • PARAM_NAME
  • - - + +
  • Methods
    • diff --git a/docs/classes/Drupal-alias-subpaths-ArgumentResolverHandler-ArgumentResolverHandlerInterface.html b/docs/classes/Drupal-alias-subpaths-ArgumentResolverHandler-ArgumentResolverHandlerInterface.html index 067698c..6635ec8 100644 --- a/docs/classes/Drupal-alias-subpaths-ArgumentResolverHandler-ArgumentResolverHandlerInterface.html +++ b/docs/classes/Drupal-alias-subpaths-ArgumentResolverHandler-ArgumentResolverHandlerInterface.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

      @@ -91,12 +91,12 @@

  • - +

    Reports

    Deprecated

    @@ -197,7 +197,7 @@

    - +

    @@ -231,8 +231,8 @@

    - - + +

    Parameters
    @@ -246,9 +246,9 @@
    Parameters
    - - + +
    Return values
    @@ -286,7 +286,7 @@

    - +

    If no specific argument resolver is configured for the given ID, a default argument resolver should be returned.

    @@ -304,9 +304,9 @@

    Parameters
    - - + +
    Return values
    @@ -344,8 +344,8 @@

    - - + +

    Parameters
    @@ -359,9 +359,9 @@
    Parameters
    - - + +
    Return values
    @@ -470,7 +470,7 @@
    Return values
    - +
    On this page @@ -490,7 +490,7 @@
    Return values
  • routeAllowArguments()
  • - +
    diff --git a/docs/classes/Drupal-alias-subpaths-ArgumentResolverHandler-SettingsArgumentResolverHandler.html b/docs/classes/Drupal-alias-subpaths-ArgumentResolverHandler-SettingsArgumentResolverHandler.html index 1fb4b2a..26688c4 100644 --- a/docs/classes/Drupal-alias-subpaths-ArgumentResolverHandler-SettingsArgumentResolverHandler.html +++ b/docs/classes/Drupal-alias-subpaths-ArgumentResolverHandler-SettingsArgumentResolverHandler.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -122,18 +122,18 @@

    Fil

    SettingsArgumentResolverHandler - + - + implements ArgumentResolverHandlerInterface - +

    @@ -214,9 +214,9 @@

    - - + +

    @@ -250,8 +250,8 @@

    - - + +

    Parameters
    @@ -265,9 +265,9 @@
    Parameters
    - - + +
    Return values
    @@ -305,8 +305,8 @@

    - - + +

    Parameters
    @@ -320,9 +320,9 @@
    Parameters
    - - + +
    Return values
    @@ -360,8 +360,8 @@

    - - + +

    Parameters
    @@ -375,9 +375,9 @@
    Parameters
    - - + +
    Return values
    @@ -486,7 +486,7 @@
    Return values
    - +
    On this page @@ -497,8 +497,8 @@
    Return values
  • Methods
  • - - + +
  • Methods
    • diff --git a/docs/classes/Drupal-alias-subpaths-Breadcrumb-AliasSubpathsBreadcrumbBuilder.html b/docs/classes/Drupal-alias-subpaths-Breadcrumb-AliasSubpathsBreadcrumbBuilder.html index d3493dd..e06193f 100644 --- a/docs/classes/Drupal-alias-subpaths-Breadcrumb-AliasSubpathsBreadcrumbBuilder.html +++ b/docs/classes/Drupal-alias-subpaths-Breadcrumb-AliasSubpathsBreadcrumbBuilder.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

      @@ -91,12 +91,12 @@

  • - +

    Reports

    Deprecated

    @@ -122,18 +122,18 @@

    Fil

    AliasSubpathsBreadcrumbBuilder - + - + implements BreadcrumbBuilderInterface - +

    @@ -225,9 +225,9 @@

    - - + +

    Properties @@ -257,18 +257,18 @@

    The admin context service.

    - + protected AdminContext $adminContext - - - - + + + +

    @@ -305,8 +305,8 @@

    - - + +

    Parameters
    @@ -320,11 +320,11 @@
    Parameters
    - - - + + +
    - - + +
    Parameters
    @@ -361,15 +361,15 @@
    Parameters
    : RouteMatchInterface
    - +
    - - - + + +
    - - + +
    Parameters
    @@ -406,15 +406,15 @@
    Parameters
    : RouteMatchInterface
    - +
    - - - + + +

    @@ -513,7 +513,7 @@
    Parameters
    - +
    On this page @@ -525,14 +525,14 @@
    Parameters
  • Methods
  • - +
  • Properties
  • - +
  • Methods
    • diff --git a/docs/classes/Drupal-alias-subpaths-Cache-Context-NodeArgumentsCacheContext.html b/docs/classes/Drupal-alias-subpaths-Cache-Context-NodeArgumentsCacheContext.html index 3f77e9a..dd85d02 100644 --- a/docs/classes/Drupal-alias-subpaths-Cache-Context-NodeArgumentsCacheContext.html +++ b/docs/classes/Drupal-alias-subpaths-Cache-Context-NodeArgumentsCacheContext.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

      @@ -91,12 +91,12 @@

  • - +

    Reports

    Deprecated

    @@ -123,18 +123,18 @@

    Fil

    NodeArgumentsCacheContext - + - + implements CacheContextInterface - +

    @@ -244,9 +244,9 @@

    - - + +

    Properties @@ -276,18 +276,18 @@

    The request stack service.

    - + protected RequestStack $requestStack - - - - + + + +

    @@ -324,8 +324,8 @@

    - - + +

    Parameters
    @@ -339,11 +339,11 @@
    Parameters
    - - - + + +
    - - - - - - + + + + + +
    - - - - - - + + + + + +
    - - - - - - + + + + + +
    - - - - - + + + + +
    Return values
    @@ -590,7 +590,7 @@
    Return values

    - +
    On this page @@ -602,14 +602,14 @@
    Return values
  • Methods
  • - +
  • Properties
  • - +
  • Methods
  • - +

    Reports

    Deprecated

    @@ -121,15 +121,15 @@

    Fil

    ContextBag - + - - + +

    @@ -310,9 +310,9 @@

    - - + +

    Properties @@ -342,7 +342,7 @@

    An array holding the raw context parameters.

    - + protected array<string|int, ContextParam> @@ -352,10 +352,10 @@

    Each element is an instance of \Drupal\alias_subpaths\ContextParam.

    - - - + + +

    An array holding the processed context content.

    - + protected array<string|int, mixed> @@ -391,10 +391,10 @@

    This array is generated after processing the raw context parameters.

    - - - + + +

    The internal Drupal path of the matched route.

    - + private string|null $path = NULL - - - - + + + +

    The route information associated with the current context.

    - + private array<string|int, mixed>|null @@ -504,10 +504,10 @@

    This is typically an associative array containing route details.

    - - - + + +

    @@ -544,8 +544,8 @@

    - - + +

    Parameters
    @@ -559,11 +559,11 @@
    Parameters
    - - - + + +
    - +

    The raw content is wrapped in a ContextParam object and stored in the bag.

    @@ -608,11 +608,11 @@
    Parameters
    - - - + + +
    - - - - - + + + + +
    Return values
    @@ -683,12 +683,12 @@

    - - - - - + + + + +
    Return values
    @@ -726,12 +726,12 @@

    - - - - - + + + + +
    Return values
    @@ -769,8 +769,8 @@

    - - + +

    Parameters
    @@ -784,9 +784,9 @@
    Parameters
    - - + +
    Return values
    @@ -824,12 +824,12 @@

    - - - - - + + + + +
    Return values
    @@ -867,12 +867,12 @@

    - - - - - + + + + +
    Return values
    @@ -910,15 +910,15 @@

    - +

    It iterates through the available argument processor definitions to find one that matches the current route name. The corresponding processor plugin is then instantiated and executed, generating the processed content.

    - - + +

    Tags @@ -930,14 +930,14 @@
    PluginException - +

    If an error occurs during plugin processing.

    - +
    Return values
    @@ -975,8 +975,8 @@

    - - + +

    Parameters
    @@ -990,9 +990,9 @@
    Parameters
    - - + +
    Return values
    @@ -1030,8 +1030,8 @@

    - - + +

    Parameters
    @@ -1045,9 +1045,9 @@
    Parameters
    - - + +
    Return values
    @@ -1085,15 +1085,15 @@

    - +

    This method aggregates the processed values from each parameter using their parameter names as keys.

    - - - + + +
    Return values
    @@ -1202,7 +1202,7 @@
    Return values

    - +
    On this page @@ -1214,7 +1214,7 @@
    Return values
  • Methods
  • - +
  • Properties
  • - +
  • Methods
    • diff --git a/docs/classes/Drupal-alias-subpaths-ContextBagFactory.html b/docs/classes/Drupal-alias-subpaths-ContextBagFactory.html index 46a7854..f0385ea 100644 --- a/docs/classes/Drupal-alias-subpaths-ContextBagFactory.html +++ b/docs/classes/Drupal-alias-subpaths-ContextBagFactory.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

      @@ -91,12 +91,12 @@

  • - +

    Reports

    Deprecated

    @@ -121,15 +121,15 @@

    Fil

    ContextBagFactory - + - - + +

    @@ -210,9 +210,9 @@

    - - + +

    Properties @@ -242,18 +242,18 @@

    The ArgumentProcessorManager service.

    - + protected ArgumentProcessorManager $argumentProcessorManager - - - - + + + +

    @@ -290,8 +290,8 @@

    - - + +

    Parameters
    @@ -305,11 +305,11 @@
    Parameters
    - - - + + +
    - - - - - + + + + +
    Return values
    @@ -451,7 +451,7 @@
    Return values

    - +
    On this page @@ -463,14 +463,14 @@
    Return values
  • Methods
  • - +
  • Properties
  • - +
  • Methods
  • - +

    Reports

    Deprecated

    @@ -121,15 +121,15 @@

    Fil

    ContextManager - + - - + +

    @@ -232,9 +232,9 @@

    - - + +

    Properties @@ -264,7 +264,7 @@

    An associative array holding context bags.

    - + protected array<string|int, mixed> @@ -274,10 +274,10 @@

    Each context bag is keyed by an identifier.

    - - - + + +

    The context bag factory service.

    - + private ContextBagFactory $contextBagFactory - - - - + + + +

    @@ -351,8 +351,8 @@

    - - + +

    Parameters
    @@ -366,11 +366,11 @@
    Parameters
    - - - + + +
    - +

    If a context bag does not already exist for the given key, a new one is created using the context bag factory.

    @@ -416,9 +416,9 @@
    Parameters
    - - + +
    Return values
    @@ -456,8 +456,8 @@

    - - + +

    Parameters
    @@ -471,9 +471,9 @@
    Parameters
    - - + +
    Return values
    @@ -511,7 +511,7 @@

    - +

    This method retrieves the context bag identified by the key and processes it, returning the processed context data.

    @@ -529,7 +529,7 @@

    Parameters
    - +
    Tags @@ -541,14 +541,14 @@
    PluginException - +

    Thrown if there is an error processing the context bag.

    - +
    Return values
    @@ -657,7 +657,7 @@
    Return values

    - +
    On this page @@ -669,7 +669,7 @@
    Return values
  • Methods
  • - +
  • Properties
  • - +
  • Methods
  • - +

    Reports

    Deprecated

    @@ -121,15 +121,15 @@

    Fil

    ContextParam - + - - + +

    @@ -260,9 +260,9 @@

    - - + +

    Properties @@ -292,18 +292,18 @@

    The name of the parameter after processing.

    - + private string|null $paramName = NULL - - - - + + + +

    The processed value of the parameter.

    - + private mixed $processedValue = NULL - - - - + + + +

    The original raw value of the parameter.

    - + private string $rawValue - - - - + + + +

    @@ -414,8 +414,8 @@

    - - + +

    Parameters
    @@ -429,11 +429,11 @@
    Parameters
    - - - + + +
    - - - - - + + + + +
    Return values
    @@ -504,12 +504,12 @@

    - - - - - + + + + +
    Return values
    @@ -547,12 +547,12 @@

    - - - - - + + + + +
    Return values
    @@ -590,8 +590,8 @@

    - - + +

    Parameters
    @@ -605,9 +605,9 @@
    Parameters
    - - + +
    Return values
    @@ -645,8 +645,8 @@

    - - + +

    Parameters
    @@ -660,9 +660,9 @@
    Parameters
    - - + +
    Return values
    @@ -700,8 +700,8 @@

    - - + +

    Parameters
    @@ -715,9 +715,9 @@
    Parameters
    - - + +
    Return values
    @@ -826,7 +826,7 @@
    Return values

    - +
    On this page @@ -838,7 +838,7 @@
    Return values
  • Methods
  • - +
  • Properties
    • @@ -847,7 +847,7 @@
      Return values
    • $rawValue
  • - +
  • Methods
    • diff --git a/docs/classes/Drupal-alias-subpaths-EventSubscriber-ArgumentProcessorEventSubscriber.html b/docs/classes/Drupal-alias-subpaths-EventSubscriber-ArgumentProcessorEventSubscriber.html index a1bcb34..85e6018 100644 --- a/docs/classes/Drupal-alias-subpaths-EventSubscriber-ArgumentProcessorEventSubscriber.html +++ b/docs/classes/Drupal-alias-subpaths-EventSubscriber-ArgumentProcessorEventSubscriber.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

      @@ -91,12 +91,12 @@

  • - +

    Reports

    Deprecated

    @@ -122,18 +122,18 @@

    Fil

    ArgumentProcessorEventSubscriber - + - + implements EventSubscriberInterface - +

    @@ -263,9 +263,9 @@

    - - + +

    Properties @@ -295,18 +295,18 @@

    The admin context service.

    - + protected AdminContext $adminContext - - - - + + + +

    The alias subpaths manager service.

    - + private AliasSubpathsManager $aliasSubpathsManager - - - - + + + +

    The current route match service.

    - + private CurrentRouteMatch $currentRouteMatch - - - - + + + +

    The module handler service.

    - + private ModuleHandlerInterface $moduleHandler - - - - + + + +

    @@ -454,8 +454,8 @@

    - - + +

    Parameters
    @@ -496,11 +496,11 @@
    Parameters
    - - - + + +
    - - - - - - + + + + + +
    - +

    This method checks whether the current route is applicable for alias subpaths processing. If it is, the alias subpaths are resolved; otherwise, the request is skipped. If resolution fails, a NotFoundHttpException is @@ -583,11 +583,11 @@

    Parameters
    - - - + + +
    - +

    This method is invoked during the response event. It checks if alias subpaths processing is disabled for the current request by inspecting the '_disable_alias_subpaths' attribute. If not disabled, it decodes the @@ -641,7 +641,7 @@

    Parameters
    - +
    Tags @@ -653,16 +653,16 @@
    NotFoundHttpException - +

    Thrown if resolution fails due to invalid or not allowed arguments.

    - - + +
    - +

    If the parameter is an instance of EntityInterface and the response implements CacheableResponseInterface, the entity is added as a cacheable dependency to the response. This ensures that changes to @@ -719,11 +719,11 @@

    Parameters
    - - - + + +

    @@ -822,7 +822,7 @@
    Parameters
    - +
    On this page @@ -834,7 +834,7 @@
    Parameters
  • Methods
  • - +
  • Properties
  • - +
  • Methods
    • diff --git a/docs/classes/Drupal-alias-subpaths-Exception-InvalidArgumentException.html b/docs/classes/Drupal-alias-subpaths-Exception-InvalidArgumentException.html index c77179b..f826fbb 100644 --- a/docs/classes/Drupal-alias-subpaths-Exception-InvalidArgumentException.html +++ b/docs/classes/Drupal-alias-subpaths-Exception-InvalidArgumentException.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

      @@ -91,12 +91,12 @@

  • - +

    Reports

    Deprecated

    @@ -125,15 +125,15 @@

    extends PluginException - +
    in package
    - - + +

    @@ -190,9 +190,9 @@

    - - + +

    @@ -226,14 +226,14 @@

    - - - - - - + + + + + +

    @@ -332,7 +332,7 @@

    - +
    On this page @@ -343,8 +343,8 @@

  • Methods
  • - - + +
  • Methods
    • diff --git a/docs/classes/Drupal-alias-subpaths-Exception-NotAllowedArgumentsException.html b/docs/classes/Drupal-alias-subpaths-Exception-NotAllowedArgumentsException.html index 5445177..f926961 100644 --- a/docs/classes/Drupal-alias-subpaths-Exception-NotAllowedArgumentsException.html +++ b/docs/classes/Drupal-alias-subpaths-Exception-NotAllowedArgumentsException.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

      @@ -91,12 +91,12 @@

  • - +

    Reports

    Deprecated

    @@ -125,15 +125,15 @@

    extends PluginException - +
    in package
    - - + +

    @@ -190,9 +190,9 @@

    - - + +

    @@ -226,14 +226,14 @@

    - - - - - - + + + + + +

    @@ -332,7 +332,7 @@

    - +
    On this page @@ -343,8 +343,8 @@

  • Methods
  • - - + +
  • Methods
    • diff --git a/docs/classes/Drupal-alias-subpaths-PathProcessor-PathProcessorAliasSubpaths.html b/docs/classes/Drupal-alias-subpaths-PathProcessor-PathProcessorAliasSubpaths.html index db403a9..33b70df 100644 --- a/docs/classes/Drupal-alias-subpaths-PathProcessor-PathProcessorAliasSubpaths.html +++ b/docs/classes/Drupal-alias-subpaths-PathProcessor-PathProcessorAliasSubpaths.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

      @@ -91,12 +91,12 @@

  • - +

    Reports

    Deprecated

    @@ -122,18 +122,18 @@

    Fil

    PathProcessorAliasSubpaths - + - + implements InboundPathProcessorInterface - +

    @@ -218,9 +218,9 @@

    - - + +

    Properties @@ -250,18 +250,18 @@

    The alias subpaths alias manager.

    - + private AliasSubpathsAliasManager $aliasSubpathsAliasManager - - - - + + + +

    @@ -298,8 +298,8 @@

    - - + +

    Parameters
    @@ -313,11 +313,11 @@
    Parameters
    - - - + + +
    - - + +
    Parameters
    @@ -354,22 +354,22 @@
    Parameters
    : mixed
    - +
    $request : Request
    - +
    - - - + + +

    @@ -468,7 +468,7 @@
    Parameters
    - +
    On this page @@ -480,14 +480,14 @@
    Parameters
  • Methods
  • - +
  • Properties
  • - +
  • Methods
    • diff --git a/docs/classes/Drupal-alias-subpaths-Plugin-ArgumentProcessorBase.html b/docs/classes/Drupal-alias-subpaths-Plugin-ArgumentProcessorBase.html index 3016896..dc79489 100644 --- a/docs/classes/Drupal-alias-subpaths-Plugin-ArgumentProcessorBase.html +++ b/docs/classes/Drupal-alias-subpaths-Plugin-ArgumentProcessorBase.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

      @@ -91,12 +91,12 @@

  • - +

    Reports

    Deprecated

    @@ -125,18 +125,18 @@

    extends PluginBase - +
    in package
    - + implements ArgumentProcessorInterface, ContainerFactoryPluginInterface - +

    @@ -289,9 +289,9 @@

    - - + +

    Properties @@ -321,18 +321,18 @@

    The context bag containing context parameters.

    - + protected ContextBag $contextBag - - - - + + + +

    The context manager service.

    - + protected ContextManager $contextManager - - - - + + + +

    The current route match service.

    - + protected CurrentRouteMatch $currentRouteMatch - - - - + + + +

    @@ -480,8 +480,8 @@

    - - + +

    Parameters
    @@ -531,11 +531,11 @@
    Parameters
    - - - + + +
    - - + +
    Parameters
    @@ -572,36 +572,36 @@
    Parameters
    : ContainerInterface
    - +
    $configuration : array<string|int, mixed>
    - +
    $plugin_id : mixed
    - +
    $plugin_definition : mixed
    - +
    - - - + + +
    - - - - - + + + + +
    Return values
    @@ -672,7 +672,7 @@

    - +

    Iterates through each allowed argument type and uses the corresponding argument resolver to attempt to resolve the raw value from the context argument. On a successful resolution, the context argument is updated with @@ -701,7 +701,7 @@

    Parameters
    - +
    Tags @@ -713,14 +713,14 @@
    InvalidArgumentException - +

    Thrown when none of the allowed argument types resolve the argument.

    - +
    Return values
    @@ -758,14 +758,14 @@

    - +

    If the route does not allow arguments and the context bag is empty, no processing is performed. Otherwise, the allowed argument types are retrieve and each context parameter is processed accordingly.

    - - + +

    Tags @@ -777,16 +777,16 @@
    NotAllowedArgumentsException - +

    Thrown when the route does not allow arguments.

    - - + +

    - - - - - + + + + +
    Return values
    @@ -857,12 +857,12 @@

    - - - - - + + + + +
    Return values
    @@ -900,12 +900,12 @@

    - - - - - + + + + +
    Return values
    @@ -1014,7 +1014,7 @@
    Return values

    - +
    On this page @@ -1026,7 +1026,7 @@
    Return values
  • Methods
  • - +
  • Properties
    • @@ -1036,7 +1036,7 @@
      Return values
    • $handler
  • - +
  • Methods
    • diff --git a/docs/classes/Drupal-alias-subpaths-Plugin-ArgumentProcessorInterface.html b/docs/classes/Drupal-alias-subpaths-Plugin-ArgumentProcessorInterface.html index 522c438..9c49e86 100644 --- a/docs/classes/Drupal-alias-subpaths-Plugin-ArgumentProcessorInterface.html +++ b/docs/classes/Drupal-alias-subpaths-Plugin-ArgumentProcessorInterface.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

      @@ -91,12 +91,12 @@

  • - +

    Reports

    Deprecated

    @@ -190,7 +190,7 @@

    - +

    @@ -224,8 +224,8 @@

    - - + +

    Parameters
    @@ -248,9 +248,9 @@
    Parameters
    - - + +
    Return values
    @@ -288,16 +288,16 @@

    - +

    This method triggers the processing logic for alias subpaths arguments.

    - - - - + + + +

    @@ -396,7 +396,7 @@

    - +
    On this page @@ -415,7 +415,7 @@

  • run()
  • - +

    diff --git a/docs/classes/Drupal-alias-subpaths-Plugin-ArgumentProcessorManager.html b/docs/classes/Drupal-alias-subpaths-Plugin-ArgumentProcessorManager.html index a7627d2..b1a375e 100644 --- a/docs/classes/Drupal-alias-subpaths-Plugin-ArgumentProcessorManager.html +++ b/docs/classes/Drupal-alias-subpaths-Plugin-ArgumentProcessorManager.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -125,15 +125,15 @@

    extends DefaultPluginManager - +
    in package
    - - + +

    @@ -194,9 +194,9 @@

    - - + +

    @@ -230,8 +230,8 @@

    - - + +

    Parameters
    @@ -264,11 +264,11 @@
    Parameters
    - - - + + +
    @@ -367,7 +367,7 @@

    Parameters
    - +
    On this page @@ -378,8 +378,8 @@
    Parameters
  • Methods
  • - - + +
  • Methods
    • diff --git a/docs/classes/Drupal-alias-subpaths-Plugin-Attribute-ArgumentProcessor.html b/docs/classes/Drupal-alias-subpaths-Plugin-Attribute-ArgumentProcessor.html index 1ed66b8..5106ede 100644 --- a/docs/classes/Drupal-alias-subpaths-Plugin-Attribute-ArgumentProcessor.html +++ b/docs/classes/Drupal-alias-subpaths-Plugin-Attribute-ArgumentProcessor.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

      @@ -91,12 +91,12 @@

  • - +

    Reports

    Deprecated

    @@ -126,15 +126,15 @@

    extends Plugin - +
    in package
    - - + +

    @@ -168,8 +168,8 @@
    Plugin - - + +
    @@ -242,9 +242,9 @@

    - - + +

    Properties @@ -272,19 +272,19 @@

    - - + + public string $id - - - - + + + +
    - - + + public string $route_name - - - - + + + +

    @@ -357,8 +357,8 @@

    - - + +

    Parameters
    @@ -381,11 +381,11 @@
    Parameters
    - - - + + +
    @@ -484,7 +484,7 @@
    Parameters
    - +
    On this page @@ -496,7 +496,7 @@
    Parameters
  • Methods
  • - +
  • Properties
  • - +
  • Methods
    • diff --git a/docs/classes/Drupal-alias-subpaths-Routing-RouteSubscriber.html b/docs/classes/Drupal-alias-subpaths-Routing-RouteSubscriber.html index 7b99cb8..f025b1a 100644 --- a/docs/classes/Drupal-alias-subpaths-Routing-RouteSubscriber.html +++ b/docs/classes/Drupal-alias-subpaths-Routing-RouteSubscriber.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

      @@ -91,12 +91,12 @@

  • - +

    Reports

    Deprecated

    @@ -125,15 +125,15 @@

    extends RouteSubscriberBase - +
    in package
    - - + +

    @@ -190,9 +190,9 @@

    - - + +

    @@ -226,8 +226,8 @@

    - - + +

    Parameters
    @@ -235,15 +235,15 @@
    Parameters
    : RouteCollection
    - +
    - - - + + +
    @@ -342,7 +342,7 @@

    Parameters
    - +
    On this page @@ -353,8 +353,8 @@
    Parameters
  • Methods
  • - - + +
  • Methods
    • diff --git a/docs/classes/Drupal-alias-subpaths-decoupled-router-EventSubscriber-AliasSubpathsPathTranslatorSubscriber.html b/docs/classes/Drupal-alias-subpaths-decoupled-router-EventSubscriber-AliasSubpathsPathTranslatorSubscriber.html index 9a33620..1ced7a5 100644 --- a/docs/classes/Drupal-alias-subpaths-decoupled-router-EventSubscriber-AliasSubpathsPathTranslatorSubscriber.html +++ b/docs/classes/Drupal-alias-subpaths-decoupled-router-EventSubscriber-AliasSubpathsPathTranslatorSubscriber.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

      @@ -91,12 +91,12 @@

  • - +

    Reports

    Deprecated

    @@ -122,18 +122,18 @@

    Fil

    AliasSubpathsPathTranslatorSubscriber - + - + implements EventSubscriberInterface - + uses StringTranslationTrait @@ -228,9 +228,9 @@

    - - + +

    Properties @@ -260,18 +260,18 @@

    The AliasSubpathsManager service.

    - + private AliasSubpathsManager $aliasSubpathsManager - - - - + + + +

    @@ -308,8 +308,8 @@

    - - + +

    Parameters
    @@ -332,11 +332,11 @@
    Parameters
    - - - + + +
    - - - - - - + + + + + +
    - - + +
    Parameters
    @@ -414,11 +414,11 @@
    Parameters
    - - - + + +

    @@ -517,7 +517,7 @@
    Parameters
    - +
    On this page @@ -529,14 +529,14 @@
    Parameters
  • Methods
  • - +
  • Properties
  • - +
  • Methods
    • diff --git a/docs/classes/Drupal-alias-subpaths-decoupled-router-Routing-RouteSubscriber.html b/docs/classes/Drupal-alias-subpaths-decoupled-router-Routing-RouteSubscriber.html index b250cd2..0863dd3 100644 --- a/docs/classes/Drupal-alias-subpaths-decoupled-router-Routing-RouteSubscriber.html +++ b/docs/classes/Drupal-alias-subpaths-decoupled-router-Routing-RouteSubscriber.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

      @@ -91,12 +91,12 @@

  • - +

    Reports

    Deprecated

    @@ -125,15 +125,15 @@

    extends RouteSubscriberBase - +
    in package
    - - + +

    @@ -190,9 +190,9 @@

    - - + +

    @@ -226,8 +226,8 @@

    - - + +

    Parameters
    @@ -235,15 +235,15 @@
    Parameters
    : RouteCollection
    - +
    - - - + + +
    @@ -342,7 +342,7 @@

    Parameters
    - +
    On this page @@ -353,8 +353,8 @@
    Parameters
  • Methods
  • - - + +
  • Methods
    • diff --git a/docs/classes/Drupal-alias-subpaths-decoupled-router-SerializerHelper.html b/docs/classes/Drupal-alias-subpaths-decoupled-router-SerializerHelper.html index f532df7..76d4e31 100644 --- a/docs/classes/Drupal-alias-subpaths-decoupled-router-SerializerHelper.html +++ b/docs/classes/Drupal-alias-subpaths-decoupled-router-SerializerHelper.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

      @@ -91,12 +91,12 @@

  • - +

    Reports

    Deprecated

    @@ -121,7 +121,7 @@

    Fil

    SerializerHelper - + - - + +

    @@ -197,9 +197,9 @@

    - - + +

    @@ -233,7 +233,7 @@

    - +

    If the argument is an instance of EntityInterface, an associative array with the entity's canonical URL, type, bundle, ID, and UUID is returned. Otherwise, the argument is JSON-encoded and returned as a single-element @@ -254,7 +254,7 @@

    Parameters
    - +
    Tags @@ -266,14 +266,14 @@
    EntityMalformedException - +

    Thrown if the entity is malformed.

    - +
    Return values
    @@ -395,7 +395,7 @@
    Return values
    - +
    On this page @@ -406,8 +406,8 @@
    Return values
  • Methods
  • - - + +
  • Methods
    • diff --git a/docs/classes/Drupal-alias-subpaths-node-Plugin-ArgumentProcessor-NodeArgumentProcessor.html b/docs/classes/Drupal-alias-subpaths-node-Plugin-ArgumentProcessor-NodeArgumentProcessor.html index 18fd6db..f8d7b6b 100644 --- a/docs/classes/Drupal-alias-subpaths-node-Plugin-ArgumentProcessor-NodeArgumentProcessor.html +++ b/docs/classes/Drupal-alias-subpaths-node-Plugin-ArgumentProcessor-NodeArgumentProcessor.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

      @@ -91,12 +91,12 @@

  • - +

    Reports

    Deprecated

    @@ -126,15 +126,15 @@

    extends ArgumentProcessorBase - +
    in package
    - - + +

    @@ -292,9 +292,9 @@

    - - + +

    Properties @@ -324,18 +324,18 @@

    The context bag containing context parameters.

    - + protected ContextBag $contextBag - - - - + + + +

    The context manager service.

    - + protected ContextManager $contextManager - - - - + + + +

    The current route match service.

    - + protected CurrentRouteMatch $currentRouteMatch - - - - + + + +

    @@ -483,8 +483,8 @@

    - - + +

    Parameters
    @@ -534,11 +534,11 @@
    Parameters
    - - - + + +
    - - + +
    Parameters
    @@ -575,36 +575,36 @@
    Parameters
    : ContainerInterface
    - +
    $configuration : array<string|int, mixed>
    - +
    $plugin_id : mixed
    - +
    $plugin_definition : mixed
    - +
    - - - + + +
    - - - - - + + + + +
    Return values
    @@ -675,7 +675,7 @@

    - +

    Iterates through each allowed argument type and uses the corresponding argument resolver to attempt to resolve the raw value from the context argument. On a successful resolution, the context argument is updated with @@ -704,7 +704,7 @@

    Parameters
    - +
    Tags @@ -716,14 +716,14 @@
    InvalidArgumentException - +

    Thrown when none of the allowed argument types resolve the argument.

    - +
    Return values
    @@ -761,14 +761,14 @@

    - +

    If the route does not allow arguments and the context bag is empty, no processing is performed. Otherwise, the allowed argument types are retrieve and each context parameter is processed accordingly.

    - - + +

    Tags @@ -780,16 +780,16 @@
    NotAllowedArgumentsException - +

    Thrown when the route does not allow arguments.

    - - + +

    - - - - - + + + + +
    Return values
    @@ -860,12 +860,12 @@

    - - - - - + + + + +
    Return values
    @@ -903,12 +903,12 @@

    - - - - - + + + + +
    Return values
    @@ -1017,7 +1017,7 @@
    Return values

    - +
    On this page @@ -1029,7 +1029,7 @@
    Return values
  • Methods
  • - +
  • Properties
    • @@ -1039,7 +1039,7 @@
      Return values
    • $handler
  • - +
  • Methods
    • diff --git a/docs/classes/Drupal-alias-subpaths-taxonomy-term-Plugin-ArgumentProcessor-TaxonomyTermArgumentProcessor.html b/docs/classes/Drupal-alias-subpaths-taxonomy-term-Plugin-ArgumentProcessor-TaxonomyTermArgumentProcessor.html index d12afe1..5970a16 100644 --- a/docs/classes/Drupal-alias-subpaths-taxonomy-term-Plugin-ArgumentProcessor-TaxonomyTermArgumentProcessor.html +++ b/docs/classes/Drupal-alias-subpaths-taxonomy-term-Plugin-ArgumentProcessor-TaxonomyTermArgumentProcessor.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

      @@ -91,12 +91,12 @@

  • - +

    Reports

    Deprecated

    @@ -126,15 +126,15 @@

    extends ArgumentProcessorBase - +
    in package
    - - + +

    @@ -292,9 +292,9 @@

    - - + +

    Properties @@ -324,18 +324,18 @@

    The context bag containing context parameters.

    - + protected ContextBag $contextBag - - - - + + + +

    The context manager service.

    - + protected ContextManager $contextManager - - - - + + + +

    The current route match service.

    - + protected CurrentRouteMatch $currentRouteMatch - - - - + + + +

    @@ -483,8 +483,8 @@

    - - + +

    Parameters
    @@ -534,11 +534,11 @@
    Parameters
    - - - + + +
    - - + +
    Parameters
    @@ -575,36 +575,36 @@
    Parameters
    : ContainerInterface
    - +
    $configuration : array<string|int, mixed>
    - +
    $plugin_id : mixed
    - +
    $plugin_definition : mixed
    - +
    - - - + + +
    - - - - - + + + + +
    Return values
    @@ -675,7 +675,7 @@

    - +

    Iterates through each allowed argument type and uses the corresponding argument resolver to attempt to resolve the raw value from the context argument. On a successful resolution, the context argument is updated with @@ -704,7 +704,7 @@

    Parameters
    - +
    Tags @@ -716,14 +716,14 @@
    InvalidArgumentException - +

    Thrown when none of the allowed argument types resolve the argument.

    - +
    Return values
    @@ -761,14 +761,14 @@

    - +

    If the route does not allow arguments and the context bag is empty, no processing is performed. Otherwise, the allowed argument types are retrieve and each context parameter is processed accordingly.

    - - + +

    Tags @@ -780,16 +780,16 @@
    NotAllowedArgumentsException - +

    Thrown when the route does not allow arguments.

    - - + +

    - - - - - + + + + +
    Return values
    @@ -860,12 +860,12 @@

    - - - - - + + + + +
    Return values
    @@ -903,12 +903,12 @@

    - - - - - + + + + +
    Return values
    @@ -1017,7 +1017,7 @@
    Return values

    - +
    On this page @@ -1029,7 +1029,7 @@
    Return values
  • Methods
  • - +
  • Properties
    • @@ -1039,7 +1039,7 @@
      Return values
    • $handler
  • - +
  • Methods
    • diff --git a/docs/css/template.css b/docs/css/template.css index d3d6f22..8f6daf1 100644 --- a/docs/css/template.css +++ b/docs/css/template.css @@ -275,4 +275,4 @@ } .phpdocumentor-uml-diagram svg { cursor: zoom-in; -} \ No newline at end of file +} diff --git a/docs/files/alias-subpaths.html b/docs/files/alias-subpaths.html index 7d3e156..2c6d6ef 100644 --- a/docs/files/alias-subpaths.html +++ b/docs/files/alias-subpaths.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

      @@ -91,12 +91,12 @@

  • - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    alias_subpaths.module

    - + @@ -132,7 +132,7 @@
    file
    - +

    Hooks for alias_subpaths.module.

    @@ -176,7 +176,7 @@

    - +

    @@ -199,12 +199,12 @@

    Implements hook_preprocess_node().

    - + alias_subpaths_preprocess_node(array<string|int, mixed> &$variables) : mixed - +

    Parameters
    @@ -212,13 +212,13 @@
    Parameters
    : array<string|int, mixed>
    - +
    - - + +

    @@ -317,7 +317,7 @@
    Parameters
    - +
    On this page @@ -329,7 +329,7 @@
    Parameters
    - +
  • Functions
  • - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    alias_subpaths_decoupled_router.module

    - + @@ -132,7 +132,7 @@
    file
    - +

    Hooks for alias_subpaths_decoupled_router.module.

    @@ -176,7 +176,7 @@

    - +

    @@ -199,12 +199,12 @@

    Implements hook_decoupled_router_info_alter().

    - + alias_subpaths_decoupled_router_decoupled_router_info_alter(mixed &$output, mixed $context) : mixed - +

    Parameters
    @@ -212,20 +212,20 @@
    Parameters
    : mixed
    - +
    $context : mixed
    - +
    - - + +

    @@ -324,7 +324,7 @@
    Parameters
    - +
    On this page @@ -336,7 +336,7 @@
    Parameters
    - +
  • Functions
  • - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    AliasSubpathsPathTranslatorSubscriber.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/modules-alias-subpaths-decoupled-router-src-routing-routesubscriber.html b/docs/files/modules-alias-subpaths-decoupled-router-src-routing-routesubscriber.html index 0a534de..83948bc 100644 --- a/docs/files/modules-alias-subpaths-decoupled-router-src-routing-routesubscriber.html +++ b/docs/files/modules-alias-subpaths-decoupled-router-src-routing-routesubscriber.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    RouteSubscriber.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/modules-alias-subpaths-decoupled-router-src-serializerhelper.html b/docs/files/modules-alias-subpaths-decoupled-router-src-serializerhelper.html index cdbbc49..3564a4c 100644 --- a/docs/files/modules-alias-subpaths-decoupled-router-src-serializerhelper.html +++ b/docs/files/modules-alias-subpaths-decoupled-router-src-serializerhelper.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    SerializerHelper.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/modules-alias-subpaths-examples-alias-subpaths-examples.html b/docs/files/modules-alias-subpaths-examples-alias-subpaths-examples.html index 80a6ff9..4b974ea 100644 --- a/docs/files/modules-alias-subpaths-examples-alias-subpaths-examples.html +++ b/docs/files/modules-alias-subpaths-examples-alias-subpaths-examples.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    alias_subpaths_examples.module

    - + @@ -132,7 +132,7 @@
    file
    - +

    Hooks for alias_subpaths_examples.module.

    @@ -176,7 +176,7 @@

    - +

    @@ -199,12 +199,12 @@

    Implements hook_preprocess_node().

    - + alias_subpaths_examples_preprocess_node(array<string|int, mixed> &$variables) : mixed - +

    Parameters
    @@ -212,13 +212,13 @@
    Parameters
    : array<string|int, mixed>
    - +
    - - + +

    @@ -317,7 +317,7 @@
    Parameters
    - +
    On this page @@ -329,7 +329,7 @@
    Parameters
    - +
  • Functions
  • - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    NodeArgumentProcessor.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/modules-alias-subpaths-taxonomy-term-src-plugin-argumentprocessor-taxonomytermargumentprocessor.html b/docs/files/modules-alias-subpaths-taxonomy-term-src-plugin-argumentprocessor-taxonomytermargumentprocessor.html index 094a2ac..d52d066 100644 --- a/docs/files/modules-alias-subpaths-taxonomy-term-src-plugin-argumentprocessor-taxonomytermargumentprocessor.html +++ b/docs/files/modules-alias-subpaths-taxonomy-term-src-plugin-argumentprocessor-taxonomytermargumentprocessor.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    TaxonomyTermArgumentProcessor.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-aliassubpathsaliasmanager.html b/docs/files/src-aliassubpathsaliasmanager.html index c56fcab..e6c63cd 100644 --- a/docs/files/src-aliassubpathsaliasmanager.html +++ b/docs/files/src-aliassubpathsaliasmanager.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    AliasSubpathsAliasManager.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-aliassubpathsmanager.html b/docs/files/src-aliassubpathsmanager.html index 939b590..cd448a0 100644 --- a/docs/files/src-aliassubpathsmanager.html +++ b/docs/files/src-aliassubpathsmanager.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    AliasSubpathsManager.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-aliassubpathsroutermanager.html b/docs/files/src-aliassubpathsroutermanager.html index 7c0cdac..58aa641 100644 --- a/docs/files/src-aliassubpathsroutermanager.html +++ b/docs/files/src-aliassubpathsroutermanager.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    AliasSubpathsRouterManager.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-argumentresolver-argumentresolverinterface.html b/docs/files/src-argumentresolver-argumentresolverinterface.html index 204a1f5..87cba1e 100644 --- a/docs/files/src-argumentresolver-argumentresolverinterface.html +++ b/docs/files/src-argumentresolver-argumentresolverinterface.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    ArgumentResolverInterface.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-argumentresolver-baseargumentresolver.html b/docs/files/src-argumentresolver-baseargumentresolver.html index 73c600a..89b0622 100644 --- a/docs/files/src-argumentresolver-baseargumentresolver.html +++ b/docs/files/src-argumentresolver-baseargumentresolver.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    BaseArgumentResolver.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-argumentresolver-defaultargumentresolver.html b/docs/files/src-argumentresolver-defaultargumentresolver.html index ffb68af..2f8ad05 100644 --- a/docs/files/src-argumentresolver-defaultargumentresolver.html +++ b/docs/files/src-argumentresolver-defaultargumentresolver.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    DefaultArgumentResolver.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-argumentresolverhandler-argumentresolverhandlerinterface.html b/docs/files/src-argumentresolverhandler-argumentresolverhandlerinterface.html index be57c9b..4ebc4cb 100644 --- a/docs/files/src-argumentresolverhandler-argumentresolverhandlerinterface.html +++ b/docs/files/src-argumentresolverhandler-argumentresolverhandlerinterface.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    ArgumentResolverHandlerInterface.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-argumentresolverhandler-settingsargumentresolverhandler.html b/docs/files/src-argumentresolverhandler-settingsargumentresolverhandler.html index 527f545..fda80ef 100644 --- a/docs/files/src-argumentresolverhandler-settingsargumentresolverhandler.html +++ b/docs/files/src-argumentresolverhandler-settingsargumentresolverhandler.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    SettingsArgumentResolverHandler.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-breadcrumb-aliassubpathsbreadcrumbbuilder.html b/docs/files/src-breadcrumb-aliassubpathsbreadcrumbbuilder.html index 5518ec5..990160d 100644 --- a/docs/files/src-breadcrumb-aliassubpathsbreadcrumbbuilder.html +++ b/docs/files/src-breadcrumb-aliassubpathsbreadcrumbbuilder.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    AliasSubpathsBreadcrumbBuilder.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-cache-context-nodeargumentscachecontext.html b/docs/files/src-cache-context-nodeargumentscachecontext.html index eac3b10..e286794 100644 --- a/docs/files/src-cache-context-nodeargumentscachecontext.html +++ b/docs/files/src-cache-context-nodeargumentscachecontext.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    NodeArgumentsCacheContext.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-contextbag.html b/docs/files/src-contextbag.html index f8f0a08..f3ac90e 100644 --- a/docs/files/src-contextbag.html +++ b/docs/files/src-contextbag.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    ContextBag.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-contextbagfactory.html b/docs/files/src-contextbagfactory.html index dd34ac2..6d20c64 100644 --- a/docs/files/src-contextbagfactory.html +++ b/docs/files/src-contextbagfactory.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    ContextBagFactory.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-contextmanager.html b/docs/files/src-contextmanager.html index 9fb716e..d24f768 100644 --- a/docs/files/src-contextmanager.html +++ b/docs/files/src-contextmanager.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    ContextManager.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-contextparam.html b/docs/files/src-contextparam.html index 753c038..f049616 100644 --- a/docs/files/src-contextparam.html +++ b/docs/files/src-contextparam.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    ContextParam.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-eventsubscriber-argumentprocessoreventsubscriber.html b/docs/files/src-eventsubscriber-argumentprocessoreventsubscriber.html index 92e69dd..409b3fc 100644 --- a/docs/files/src-eventsubscriber-argumentprocessoreventsubscriber.html +++ b/docs/files/src-eventsubscriber-argumentprocessoreventsubscriber.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    ArgumentProcessorEventSubscriber.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-exception-invalidargumentexception.html b/docs/files/src-exception-invalidargumentexception.html index cc2ebb3..0bfed59 100644 --- a/docs/files/src-exception-invalidargumentexception.html +++ b/docs/files/src-exception-invalidargumentexception.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    InvalidArgumentException.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-exception-notallowedargumentsexception.html b/docs/files/src-exception-notallowedargumentsexception.html index 6e77716..33f8423 100644 --- a/docs/files/src-exception-notallowedargumentsexception.html +++ b/docs/files/src-exception-notallowedargumentsexception.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    NotAllowedArgumentsException.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-pathprocessor-pathprocessoraliassubpaths.html b/docs/files/src-pathprocessor-pathprocessoraliassubpaths.html index 7e75cc3..8f2584f 100644 --- a/docs/files/src-pathprocessor-pathprocessoraliassubpaths.html +++ b/docs/files/src-pathprocessor-pathprocessoraliassubpaths.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    PathProcessorAliasSubpaths.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-plugin-argumentprocessorbase.html b/docs/files/src-plugin-argumentprocessorbase.html index 8e97054..820197e 100644 --- a/docs/files/src-plugin-argumentprocessorbase.html +++ b/docs/files/src-plugin-argumentprocessorbase.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    ArgumentProcessorBase.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-plugin-argumentprocessorinterface.html b/docs/files/src-plugin-argumentprocessorinterface.html index 35c9f72..dac3b32 100644 --- a/docs/files/src-plugin-argumentprocessorinterface.html +++ b/docs/files/src-plugin-argumentprocessorinterface.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    ArgumentProcessorInterface.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-plugin-argumentprocessormanager.html b/docs/files/src-plugin-argumentprocessormanager.html index 8989609..153dcba 100644 --- a/docs/files/src-plugin-argumentprocessormanager.html +++ b/docs/files/src-plugin-argumentprocessormanager.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    ArgumentProcessorManager.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-plugin-attribute-argumentprocessor.html b/docs/files/src-plugin-attribute-argumentprocessor.html index a3990ac..5bb47b1 100644 --- a/docs/files/src-plugin-attribute-argumentprocessor.html +++ b/docs/files/src-plugin-attribute-argumentprocessor.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    ArgumentProcessor.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/files/src-routing-routesubscriber.html b/docs/files/src-routing-routesubscriber.html index 2cfd1fd..51e5011 100644 --- a/docs/files/src-routing-routesubscriber.html +++ b/docs/files/src-routing-routesubscriber.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    RouteSubscriber.php

    - + @@ -153,9 +153,9 @@

    - - + +
    @@ -251,7 +251,7 @@

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/graphs/classes.html b/docs/graphs/classes.html index d6223c7..385ac66 100644 --- a/docs/graphs/classes.html +++ b/docs/graphs/classes.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -50,19 +50,19 @@

    @@ -79,12 +79,12 @@

    - +

    Reports

    Deprecated

    diff --git a/docs/index.html b/docs/index.html index 796342e..a6685b3 100644 --- a/docs/index.html +++ b/docs/index.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -114,8 +114,8 @@

    Fil

    Documentation

    - - + +

    Table of Contents @@ -178,7 +178,7 @@

    - +

    @@ -201,12 +201,12 @@

    Implements hook_preprocess_node().

    - + alias_subpaths_preprocess_node(array<string|int, mixed> &$variables) : mixed - +

    Parameters
    @@ -214,13 +214,13 @@
    Parameters
    : array<string|int, mixed>
    - +
    - - + +

    @@ -237,12 +237,12 @@

    Implements hook_decoupled_router_info_alter().

    - + alias_subpaths_decoupled_router_decoupled_router_info_alter(mixed &$output, mixed $context) : mixed - +

    Parameters
    @@ -250,20 +250,20 @@
    Parameters
    : mixed
    - +
    $context : mixed
    - +
    - - + +

    @@ -280,12 +280,12 @@

    Implements hook_preprocess_node().

    - + alias_subpaths_examples_preprocess_node(array<string|int, mixed> &$variables) : mixed - +

    Parameters
    @@ -293,13 +293,13 @@
    Parameters
    : array<string|int, mixed>
    - +
    - - + +
    diff --git a/docs/indices/files.html b/docs/indices/files.html index 7cd9a3f..1d72ca2 100644 --- a/docs/indices/files.html +++ b/docs/indices/files.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -112,7 +112,7 @@

    Fil
    - +

    Files

    A

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    API Documentation

    - +

    Table of Contents @@ -172,7 +172,7 @@

    - +

    @@ -195,12 +195,12 @@

    Implements hook_preprocess_node().

    - + alias_subpaths_preprocess_node(array<string|int, mixed> &$variables) : mixed - +

    Parameters
    @@ -208,13 +208,13 @@
    Parameters
    : array<string|int, mixed>
    - +
    - - + +

    @@ -231,12 +231,12 @@

    Implements hook_decoupled_router_info_alter().

    - + alias_subpaths_decoupled_router_decoupled_router_info_alter(mixed &$output, mixed $context) : mixed - +

    Parameters
    @@ -244,20 +244,20 @@
    Parameters
    : mixed
    - +
    $context : mixed
    - +
    - - + +

    @@ -274,12 +274,12 @@

    Implements hook_preprocess_node().

    - + alias_subpaths_examples_preprocess_node(array<string|int, mixed> &$variables) : mixed - +

    Parameters
    @@ -287,13 +287,13 @@
    Parameters
    : array<string|int, mixed>
    - +
    - - + +

    @@ -392,7 +392,7 @@
    Parameters

    - +
    On this page @@ -404,7 +404,7 @@
    Parameters
    - +
  • Functions
    • diff --git a/docs/namespaces/drupal-alias-subpaths-argumentresolver.html b/docs/namespaces/drupal-alias-subpaths-argumentresolver.html index f91e563..1f67c89 100644 --- a/docs/namespaces/drupal-alias-subpaths-argumentresolver.html +++ b/docs/namespaces/drupal-alias-subpaths-argumentresolver.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

      @@ -91,12 +91,12 @@

  • - +

    Reports

    Deprecated

    @@ -120,7 +120,7 @@

    Fil

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/namespaces/drupal-alias-subpaths-argumentresolverhandler.html b/docs/namespaces/drupal-alias-subpaths-argumentresolverhandler.html index 9132e31..46c1b28 100644 --- a/docs/namespaces/drupal-alias-subpaths-argumentresolverhandler.html +++ b/docs/namespaces/drupal-alias-subpaths-argumentresolverhandler.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -120,7 +120,7 @@

    Fil

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/namespaces/drupal-alias-subpaths-breadcrumb.html b/docs/namespaces/drupal-alias-subpaths-breadcrumb.html index 9fdf0e3..8c15fde 100644 --- a/docs/namespaces/drupal-alias-subpaths-breadcrumb.html +++ b/docs/namespaces/drupal-alias-subpaths-breadcrumb.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -120,7 +120,7 @@

    Fil

    - +
    On this page @@ -255,7 +255,7 @@

    - +

    diff --git a/docs/namespaces/drupal-alias-subpaths-cache-context.html b/docs/namespaces/drupal-alias-subpaths-cache-context.html index faba296..40c1217 100644 --- a/docs/namespaces/drupal-alias-subpaths-cache-context.html +++ b/docs/namespaces/drupal-alias-subpaths-cache-context.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -121,7 +121,7 @@

    Fil

    - +
    On this page @@ -256,7 +256,7 @@

    - +

    diff --git a/docs/namespaces/drupal-alias-subpaths-cache.html b/docs/namespaces/drupal-alias-subpaths-cache.html index 840c78b..c2b1fac 100644 --- a/docs/namespaces/drupal-alias-subpaths-cache.html +++ b/docs/namespaces/drupal-alias-subpaths-cache.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -120,7 +120,7 @@

    Fil

    - +
    On this page @@ -255,7 +255,7 @@

    - +

    diff --git a/docs/namespaces/drupal-alias-subpaths-decoupled-router-eventsubscriber.html b/docs/namespaces/drupal-alias-subpaths-decoupled-router-eventsubscriber.html index 2daf3e7..01ab7ac 100644 --- a/docs/namespaces/drupal-alias-subpaths-decoupled-router-eventsubscriber.html +++ b/docs/namespaces/drupal-alias-subpaths-decoupled-router-eventsubscriber.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -120,7 +120,7 @@

    Fil

    - +
    On this page @@ -255,7 +255,7 @@

    - +

    diff --git a/docs/namespaces/drupal-alias-subpaths-decoupled-router-routing.html b/docs/namespaces/drupal-alias-subpaths-decoupled-router-routing.html index 07922a9..0ba9483 100644 --- a/docs/namespaces/drupal-alias-subpaths-decoupled-router-routing.html +++ b/docs/namespaces/drupal-alias-subpaths-decoupled-router-routing.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -120,7 +120,7 @@

    Fil

    - +
    On this page @@ -255,7 +255,7 @@

    - +

    diff --git a/docs/namespaces/drupal-alias-subpaths-decoupled-router.html b/docs/namespaces/drupal-alias-subpaths-decoupled-router.html index c71ca53..59585e3 100644 --- a/docs/namespaces/drupal-alias-subpaths-decoupled-router.html +++ b/docs/namespaces/drupal-alias-subpaths-decoupled-router.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -119,7 +119,7 @@

    Fil

    - +
    On this page @@ -263,7 +263,7 @@

    - +

    diff --git a/docs/namespaces/drupal-alias-subpaths-eventsubscriber.html b/docs/namespaces/drupal-alias-subpaths-eventsubscriber.html index 13413e9..76d84d5 100644 --- a/docs/namespaces/drupal-alias-subpaths-eventsubscriber.html +++ b/docs/namespaces/drupal-alias-subpaths-eventsubscriber.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -120,7 +120,7 @@

    Fil

    - +
    On this page @@ -255,7 +255,7 @@

    - +

    diff --git a/docs/namespaces/drupal-alias-subpaths-exception.html b/docs/namespaces/drupal-alias-subpaths-exception.html index 9fbd196..59a8afa 100644 --- a/docs/namespaces/drupal-alias-subpaths-exception.html +++ b/docs/namespaces/drupal-alias-subpaths-exception.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -120,7 +120,7 @@

    Fil

    - +
    On this page @@ -255,7 +255,7 @@

    - +

    diff --git a/docs/namespaces/drupal-alias-subpaths-node-plugin-argumentprocessor.html b/docs/namespaces/drupal-alias-subpaths-node-plugin-argumentprocessor.html index e56fcd6..f7cf897 100644 --- a/docs/namespaces/drupal-alias-subpaths-node-plugin-argumentprocessor.html +++ b/docs/namespaces/drupal-alias-subpaths-node-plugin-argumentprocessor.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -121,7 +121,7 @@

    Fil

    - +
    On this page @@ -256,7 +256,7 @@

    - +

    diff --git a/docs/namespaces/drupal-alias-subpaths-node-plugin.html b/docs/namespaces/drupal-alias-subpaths-node-plugin.html index 623cf86..3161d3e 100644 --- a/docs/namespaces/drupal-alias-subpaths-node-plugin.html +++ b/docs/namespaces/drupal-alias-subpaths-node-plugin.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -120,7 +120,7 @@

    Fil

    - +
    On this page @@ -255,7 +255,7 @@

    - +

    diff --git a/docs/namespaces/drupal-alias-subpaths-node.html b/docs/namespaces/drupal-alias-subpaths-node.html index 11bdad9..8d11486 100644 --- a/docs/namespaces/drupal-alias-subpaths-node.html +++ b/docs/namespaces/drupal-alias-subpaths-node.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -119,7 +119,7 @@

    Fil

    - +
    On this page @@ -254,7 +254,7 @@

    - +

    diff --git a/docs/namespaces/drupal-alias-subpaths-pathprocessor.html b/docs/namespaces/drupal-alias-subpaths-pathprocessor.html index 1daf2bb..939859d 100644 --- a/docs/namespaces/drupal-alias-subpaths-pathprocessor.html +++ b/docs/namespaces/drupal-alias-subpaths-pathprocessor.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -120,7 +120,7 @@

    Fil

    - +
    On this page @@ -255,7 +255,7 @@

    - +

    diff --git a/docs/namespaces/drupal-alias-subpaths-plugin-attribute.html b/docs/namespaces/drupal-alias-subpaths-plugin-attribute.html index 0460224..661b984 100644 --- a/docs/namespaces/drupal-alias-subpaths-plugin-attribute.html +++ b/docs/namespaces/drupal-alias-subpaths-plugin-attribute.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -121,7 +121,7 @@

    Fil

    - +
    On this page @@ -256,7 +256,7 @@

    - +

    diff --git a/docs/namespaces/drupal-alias-subpaths-plugin.html b/docs/namespaces/drupal-alias-subpaths-plugin.html index 24a9b47..8024fe1 100644 --- a/docs/namespaces/drupal-alias-subpaths-plugin.html +++ b/docs/namespaces/drupal-alias-subpaths-plugin.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -120,7 +120,7 @@

    Fil

    - +
    On this page @@ -271,7 +271,7 @@

    - +

    diff --git a/docs/namespaces/drupal-alias-subpaths-routing.html b/docs/namespaces/drupal-alias-subpaths-routing.html index db14b54..f984690 100644 --- a/docs/namespaces/drupal-alias-subpaths-routing.html +++ b/docs/namespaces/drupal-alias-subpaths-routing.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -120,7 +120,7 @@

    Fil

    - +
    On this page @@ -255,7 +255,7 @@

    - +

    diff --git a/docs/namespaces/drupal-alias-subpaths-taxonomy-term-plugin-argumentprocessor.html b/docs/namespaces/drupal-alias-subpaths-taxonomy-term-plugin-argumentprocessor.html index 49753f6..db8358e 100644 --- a/docs/namespaces/drupal-alias-subpaths-taxonomy-term-plugin-argumentprocessor.html +++ b/docs/namespaces/drupal-alias-subpaths-taxonomy-term-plugin-argumentprocessor.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -121,7 +121,7 @@

    Fil

    - +
    On this page @@ -256,7 +256,7 @@

    - +

    diff --git a/docs/namespaces/drupal-alias-subpaths-taxonomy-term-plugin.html b/docs/namespaces/drupal-alias-subpaths-taxonomy-term-plugin.html index 1fdfd2d..8612896 100644 --- a/docs/namespaces/drupal-alias-subpaths-taxonomy-term-plugin.html +++ b/docs/namespaces/drupal-alias-subpaths-taxonomy-term-plugin.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -120,7 +120,7 @@

    Fil

    - +
    On this page @@ -255,7 +255,7 @@

    - +

    diff --git a/docs/namespaces/drupal-alias-subpaths-taxonomy-term.html b/docs/namespaces/drupal-alias-subpaths-taxonomy-term.html index ddb799f..c49c268 100644 --- a/docs/namespaces/drupal-alias-subpaths-taxonomy-term.html +++ b/docs/namespaces/drupal-alias-subpaths-taxonomy-term.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -119,7 +119,7 @@

    Fil

    - +
    On this page @@ -254,7 +254,7 @@

    - +

    diff --git a/docs/namespaces/drupal-alias-subpaths.html b/docs/namespaces/drupal-alias-subpaths.html index 4af0366..6f99871 100644 --- a/docs/namespaces/drupal-alias-subpaths.html +++ b/docs/namespaces/drupal-alias-subpaths.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -119,7 +119,7 @@

    Fil

    - +
    On this page @@ -270,7 +270,7 @@

    - +

    diff --git a/docs/namespaces/drupal.html b/docs/namespaces/drupal.html index f7c2599..c522367 100644 --- a/docs/namespaces/drupal.html +++ b/docs/namespaces/drupal.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    - +
    On this page @@ -256,7 +256,7 @@

    - +

    diff --git a/docs/packages/Application.html b/docs/packages/Application.html index 8e9d84b..ba5e58c 100644 --- a/docs/packages/Application.html +++ b/docs/packages/Application.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    Application

    - +

    Table of Contents @@ -178,7 +178,7 @@

    - +

    @@ -201,12 +201,12 @@

    Implements hook_preprocess_node().

    - + alias_subpaths_preprocess_node(array<string|int, mixed> &$variables) : mixed - +

    Parameters
    @@ -214,13 +214,13 @@
    Parameters
    : array<string|int, mixed>
    - +
    - - + +

    @@ -237,12 +237,12 @@

    Implements hook_decoupled_router_info_alter().

    - + alias_subpaths_decoupled_router_decoupled_router_info_alter(mixed &$output, mixed $context) : mixed - +

    Parameters
    @@ -250,20 +250,20 @@
    Parameters
    : mixed
    - +
    $context : mixed
    - +
    - - + +

    @@ -280,12 +280,12 @@

    Implements hook_preprocess_node().

    - + alias_subpaths_examples_preprocess_node(array<string|int, mixed> &$variables) : mixed - +

    Parameters
    @@ -293,13 +293,13 @@
    Parameters
    : array<string|int, mixed>
    - +
    - - + +

    @@ -398,7 +398,7 @@
    Parameters
    - +
    On this page @@ -412,7 +412,7 @@
    Parameters
    - +
  • Functions
    • diff --git a/docs/packages/Drupal-alias-subpaths-decoupled-router.html b/docs/packages/Drupal-alias-subpaths-decoupled-router.html index 41ebe10..2887e49 100644 --- a/docs/packages/Drupal-alias-subpaths-decoupled-router.html +++ b/docs/packages/Drupal-alias-subpaths-decoupled-router.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

      @@ -91,12 +91,12 @@

  • - +

    Reports

    Deprecated

    @@ -122,7 +122,7 @@

    Fil

    - +
    On this page @@ -257,7 +257,7 @@

    - +

    diff --git a/docs/packages/Drupal-alias-subpaths-decoupled.html b/docs/packages/Drupal-alias-subpaths-decoupled.html index 16e001e..2cb6d84 100644 --- a/docs/packages/Drupal-alias-subpaths-decoupled.html +++ b/docs/packages/Drupal-alias-subpaths-decoupled.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -121,7 +121,7 @@

    Fil

    - +
    On this page @@ -256,7 +256,7 @@

    - +

    diff --git a/docs/packages/Drupal-alias-subpaths.html b/docs/packages/Drupal-alias-subpaths.html index 25388bd..c83c625 100644 --- a/docs/packages/Drupal-alias-subpaths.html +++ b/docs/packages/Drupal-alias-subpaths.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -120,7 +120,7 @@

    Fil

    - +
    On this page @@ -255,7 +255,7 @@

    - +

    diff --git a/docs/packages/Drupal-alias.html b/docs/packages/Drupal-alias.html index e697c9f..d0310f5 100644 --- a/docs/packages/Drupal-alias.html +++ b/docs/packages/Drupal-alias.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -119,7 +119,7 @@

    Fil

    - +
    On this page @@ -254,7 +254,7 @@

    - +

    diff --git a/docs/packages/Drupal.html b/docs/packages/Drupal.html index 5bf425a..d0301d6 100644 --- a/docs/packages/Drupal.html +++ b/docs/packages/Drupal.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    - +
    On this page @@ -253,7 +253,7 @@

    - +

    diff --git a/docs/packages/default.html b/docs/packages/default.html index 18c49a0..c8b1b29 100644 --- a/docs/packages/default.html +++ b/docs/packages/default.html @@ -3,7 +3,7 @@ Drupal Alias Subpaths - + @@ -62,19 +62,19 @@

    @@ -91,12 +91,12 @@

    - +

    Reports

    Deprecated

    @@ -118,7 +118,7 @@

    Fil

    - +
    On this page @@ -254,7 +254,7 @@

    - +

    diff --git a/docs/reports/deprecated.html b/docs/reports/deprecated.html index a723de5..9e74a0d 100644 --- a/docs/reports/deprecated.html +++ b/docs/reports/deprecated.html @@ -4,7 +4,7 @@ Drupal Alias Subpaths » Deprecated elements - + @@ -63,19 +63,19 @@

    @@ -92,12 +92,12 @@

    - +

    Reports

    Deprecated

    @@ -120,7 +120,7 @@

    Fil

    - +

    Reports

    Deprecated

    @@ -120,9 +120,9 @@

    Fil

    Errors

    - +
    No errors have been found in this project.
    - +

    diff --git a/docs/reports/markers.html b/docs/reports/markers.html index 5b9062e..ce63f26 100644 --- a/docs/reports/markers.html +++ b/docs/reports/markers.html @@ -4,7 +4,7 @@ Drupal Alias Subpaths » Markers - + @@ -63,19 +63,19 @@

    @@ -92,12 +92,12 @@

    - +

    Reports

    Deprecated

    @@ -123,7 +123,7 @@

    Markers

    No markers have been found in this project.
    - +

    From 723d8003163a99230ff19fe3b3c5d7285a382dbe Mon Sep 17 00:00:00 2001 From: Pedro Palomera Date: Tue, 24 Feb 2026 10:14:38 +0100 Subject: [PATCH 2/4] feat: pre-commit added --- src/AliasSubpathsAliasManager.php | 4 ++++ src/AliasSubpathsManager.php | 3 +++ src/AliasSubpathsRouterManager.php | 10 ++++++---- src/ContextManager.php | 5 ++++- src/UnlocalizeUrlService.php | 22 ++++++++++++++++++++-- 5 files changed, 37 insertions(+), 7 deletions(-) diff --git a/src/AliasSubpathsAliasManager.php b/src/AliasSubpathsAliasManager.php index 51e75c8..953c219 100644 --- a/src/AliasSubpathsAliasManager.php +++ b/src/AliasSubpathsAliasManager.php @@ -30,6 +30,8 @@ class AliasSubpathsAliasManager { private ContextManager $contextManager; /** + * Service for unlocalize URLs. + * * @var \Drupal\alias_subpaths\UnlocalizeUrlService */ private UnlocalizeUrlService $unlocalizeUrlService; @@ -42,6 +44,7 @@ class AliasSubpathsAliasManager { * @param \Drupal\alias_subpaths\ContextManager $context_manager * The context manager service. * @param \Drupal\alias_subpaths\UnlocalizeUrlService $unlocalize_url_service + * The unlocalize URL service. */ public function __construct(AliasManagerInterface $alias_manager, ContextManager $context_manager, UnlocalizeUrlService $unlocalize_url_service) { $this->aliasManager = $alias_manager; @@ -63,6 +66,7 @@ public function __construct(AliasManagerInterface $alias_manager, ContextManager * * @return string * The resolved system path. + * * @throws \Drupal\alias_subpaths\Exception\NotRouteApplicableException * Thrown when the route is not applicable. */ diff --git a/src/AliasSubpathsManager.php b/src/AliasSubpathsManager.php index 0fae3ec..ce433fe 100644 --- a/src/AliasSubpathsManager.php +++ b/src/AliasSubpathsManager.php @@ -120,6 +120,9 @@ private function getRouteInfo($path, $internal_path) { return $routeInfo; } + /** + * Returns Context Manager. + */ public function getContextManager() { return $this->contextManager; } diff --git a/src/AliasSubpathsRouterManager.php b/src/AliasSubpathsRouterManager.php index d40c9a3..270d490 100644 --- a/src/AliasSubpathsRouterManager.php +++ b/src/AliasSubpathsRouterManager.php @@ -55,15 +55,17 @@ public function __construct( public function getRouteInfo($path): array { try { $route = $this->router->match($path); - } catch (ResourceNotFoundException $e) { + } + catch (ResourceNotFoundException $e) { return [ 'name' => self::SYSTEM_404, - 'arguments' => [] + 'arguments' => [], ]; - } catch (MethodNotAllowedException $e) { + } + catch (MethodNotAllowedException $e) { return [ 'name' => self::SYSTEM_405, - 'arguments' => [] + 'arguments' => [], ]; } $arguments = []; diff --git a/src/ContextManager.php b/src/ContextManager.php index 9e7ebd0..dfc4cff 100644 --- a/src/ContextManager.php +++ b/src/ContextManager.php @@ -28,6 +28,8 @@ class ContextManager { private ContextBagFactory $contextBagFactory; /** + * Service for unlocalize URLs. + * * @var \Drupal\alias_subpaths\UnlocalizeUrlService */ private UnlocalizeUrlService $unlocalizeUrlService; @@ -38,10 +40,11 @@ class ContextManager { * @param \Drupal\alias_subpaths\ContextBagFactory $contextBagFactory * The factory service used to create new context bags. * @param \Drupal\alias_subpaths\UnlocalizeUrlService $unlocalizeUrlService + * The unlocalize URL service. */ public function __construct( ContextBagFactory $contextBagFactory, - UnlocalizeUrlService $unlocalizeUrlService + UnlocalizeUrlService $unlocalizeUrlService, ) { $this->contextBag = []; $this->contextBagFactory = $contextBagFactory; diff --git a/src/UnlocalizeUrlService.php b/src/UnlocalizeUrlService.php index 140ef2e..9ddd9d4 100644 --- a/src/UnlocalizeUrlService.php +++ b/src/UnlocalizeUrlService.php @@ -6,21 +6,32 @@ use Drupal\Core\Language\LanguageManagerInterface; use Drupal\language\Plugin\LanguageNegotiation\LanguageNegotiationUrl; +/** + * Service for unlocalize URLs. + */ class UnlocalizeUrlService { /** + * The language manager service. + * * @var \Drupal\Core\Language\LanguageManagerInterface */ private LanguageManagerInterface $languageManager; /** + * The config factory service. + * * @var \Drupal\Core\Config\ConfigFactoryInterface */ private ConfigFactoryInterface $config; /** + * Constructs a new UnlocalizeUrlService. + * * @param \Drupal\Core\Language\LanguageManagerInterface $languageManager + * The Language Manager service. * @param \Drupal\Core\Config\ConfigFactoryInterface $config + * The config factory service. */ public function __construct( LanguageManagerInterface $languageManager, @@ -30,7 +41,15 @@ public function __construct( $this->config = $config; } - + /** + * Function for unlocalize a path. + * + * @param string $path + * The path to unlocalize. + * + * @return string + * The unlocalized path. + */ public function unlocalizeUrl($path) { $config = $this->config->get('language.negotiation')->get('url'); @@ -51,5 +70,4 @@ public function unlocalizeUrl($path) { return $path; } - } From 6760f9197c9186fbe674cad405efb966870bf3bb Mon Sep 17 00:00:00 2001 From: Pedro Palomera Date: Tue, 24 Feb 2026 11:50:52 +0100 Subject: [PATCH 3/4] Feature/phpstan (#19) * feat: phpstan * feat: phpstan in pre-commit --- .pre-commit-config.yaml | 7 + composer.json | 8 +- composer.lock | 4701 ++++++++++++++++- phpstan.neon | 9 + src/AliasSubpathsAliasManager.php | 2 +- .../ArgumentProcessorEventSubscriber.php | 1 + .../PathProcessorAliasSubpaths.php | 44 +- 7 files changed, 4596 insertions(+), 176 deletions(-) create mode 100644 phpstan.neon diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8d96a95..1ecc205 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,6 +21,13 @@ repos: - --extensions=php,module,inc,install,test,profile,theme,yml pass_filenames: true + - id: phpstan + name: PHPStan - Static analysis + entry: vendor/bin/phpstan analyse + language: script + types: [php] + pass_filenames: false + - repo: https://github.com/commitizen-tools/commitizen rev: v3.29.0 hooks: diff --git a/composer.json b/composer.json index 3ef4eb7..bfe9b5e 100644 --- a/composer.json +++ b/composer.json @@ -4,10 +4,16 @@ "type": "drupal-mrmilu-module", "require-dev": { "drupal/coder": "^8.3", - "squizlabs/php_codesniffer": "^3.13" + "squizlabs/php_codesniffer": "^3.13", + "mglaman/phpstan-drupal": "^2.0", + "drupal/core": "^10" }, "config": { "allow-plugins": { + "composer/installers": true, + "drupal/core-composer-scaffold": false, + "drupal/core-project-message": false, + "phpstan/extension-installer": true, "dealerdirect/phpcodesniffer-composer-installer": true } } diff --git a/composer.lock b/composer.lock index 9180b92..01d4176 100644 --- a/composer.lock +++ b/composer.lock @@ -4,9 +4,142 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "9d78b1fa31aca404e9f4b2e68e187f1b", + "content-hash": "5ad64c2dd484e604182cad9aa363ebad", "packages": [], "packages-dev": [ + { + "name": "asm89/stack-cors", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/asm89/stack-cors.git", + "reference": "33dcc9955bd5c683e1246f0162f48df73fe799f6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/asm89/stack-cors/zipball/33dcc9955bd5c683e1246f0162f48df73fe799f6", + "reference": "33dcc9955bd5c683e1246f0162f48df73fe799f6", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0", + "symfony/http-foundation": "^5.3|^6|^7|^8", + "symfony/http-kernel": "^5.3|^6|^7|^8" + }, + "require-dev": { + "phpunit/phpunit": "^9", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + } + }, + "autoload": { + "psr-4": { + "Asm89\\Stack\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alexander", + "email": "iam.asm89@gmail.com" + } + ], + "description": "Cross-origin resource sharing library and stack middleware", + "homepage": "https://github.com/asm89/stack-cors", + "keywords": [ + "cors", + "stack" + ], + "support": { + "issues": "https://github.com/asm89/stack-cors/issues", + "source": "https://github.com/asm89/stack-cors/tree/v2.4.0" + }, + "time": "2026-01-28T13:08:04+00:00" + }, + { + "name": "composer/semver", + "version": "3.4.4", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/198166618906cb2de69b95d7d47e5fa8aa1b2b95", + "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.11", + "symfony/phpunit-bridge": "^3 || ^7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.4.4" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + } + ], + "time": "2025-08-20T19:15:30+00:00" + }, { "name": "dealerdirect/phpcodesniffer-composer-installer", "version": "v1.2.0", @@ -103,6 +236,132 @@ ], "time": "2025-11-11T04:32:07+00:00" }, + { + "name": "doctrine/deprecations", + "version": "1.1.6", + "source": { + "type": "git", + "url": "https://github.com/doctrine/deprecations.git", + "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca", + "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "phpunit/phpunit": "<=7.5 || >=14" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^12 || ^14", + "phpstan/phpstan": "1.4.10 || 2.1.30", + "phpstan/phpstan-phpunit": "^1.0 || ^2", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12.4 || ^13.0", + "psr/log": "^1 || ^2 || ^3" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/1.1.6" + }, + "time": "2026-02-07T07:09:04+00:00" + }, + { + "name": "doctrine/lexer", + "version": "2.1.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "861c870e8b75f7c8f69c146c7f89cc1c0f1b49b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/861c870e8b75f7c8f69c146c7f89cc1c0f1b49b6", + "reference": "861c870e8b75f7c8f69c146c7f89cc1c0f1b49b6", + "shasum": "" + }, + "require": { + "doctrine/deprecations": "^1.0", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^12", + "phpstan/phpstan": "^1.3", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6", + "psalm/plugin-phpunit": "^0.18.3", + "vimeo/psalm": "^4.11 || ^5.21" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/2.1.1" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2024-02-05T11:35:39+00:00" + }, { "name": "drupal/coder", "version": "8.3.31", @@ -155,289 +414,4269 @@ "time": "2025-10-16T12:23:49+00:00" }, { - "name": "phpstan/phpdoc-parser", - "version": "2.3.2", + "name": "drupal/core", + "version": "10.6.3", "source": { "type": "git", - "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a" + "url": "https://github.com/drupal/core.git", + "reference": "ae94f40fbf0f4bd59a5145654dc336e38dfe57a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/a004701b11273a26cd7955a61d67a7f1e525a45a", - "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a", + "url": "https://api.github.com/repos/drupal/core/zipball/ae94f40fbf0f4bd59a5145654dc336e38dfe57a7", + "reference": "ae94f40fbf0f4bd59a5145654dc336e38dfe57a7", "shasum": "" }, "require": { - "php": "^7.4 || ^8.0" + "asm89/stack-cors": "^2.3", + "composer-runtime-api": "^2.1", + "composer/semver": "^3.3", + "doctrine/lexer": "^2", + "egulias/email-validator": "^3.2.1|^4.0", + "ext-date": "*", + "ext-dom": "*", + "ext-filter": "*", + "ext-gd": "*", + "ext-hash": "*", + "ext-json": "*", + "ext-pcre": "*", + "ext-pdo": "*", + "ext-session": "*", + "ext-simplexml": "*", + "ext-spl": "*", + "ext-tokenizer": "*", + "ext-xml": "*", + "guzzlehttp/guzzle": "^7.5", + "guzzlehttp/psr7": "^2.4.5", + "masterminds/html5": "^2.7", + "mck89/peast": "^1.14", + "pear/archive_tar": "^1.4.14", + "php": ">=8.1.0", + "psr/log": "^3.0", + "sebastian/diff": "^4", + "symfony/console": "^6.4", + "symfony/dependency-injection": "^6.4", + "symfony/event-dispatcher": "^6.4", + "symfony/filesystem": "^6.4", + "symfony/finder": "^6.4", + "symfony/http-foundation": "^6.4", + "symfony/http-kernel": "^6.4", + "symfony/mailer": "^6.4", + "symfony/mime": "^6.4", + "symfony/polyfill-iconv": "^1.26", + "symfony/process": "^6.4.33", + "symfony/psr-http-message-bridge": "^2.1|^6.4", + "symfony/routing": "^6.4", + "symfony/serializer": "^6.4", + "symfony/validator": "^6.4", + "symfony/yaml": "^6.4", + "twig/twig": "^3.22.0" }, - "require-dev": { - "doctrine/annotations": "^2.0", - "nikic/php-parser": "^5.3.0", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^2.0", - "phpstan/phpstan-phpunit": "^2.0", - "phpstan/phpstan-strict-rules": "^2.0", - "phpunit/phpunit": "^9.6", - "symfony/process": "^5.2" + "conflict": { + "dealerdirect/phpcodesniffer-composer-installer": "1.1.0", + "drush/drush": "<12.4.3" + }, + "replace": { + "drupal/core-annotation": "self.version", + "drupal/core-assertion": "self.version", + "drupal/core-class-finder": "self.version", + "drupal/core-datetime": "self.version", + "drupal/core-dependency-injection": "self.version", + "drupal/core-diff": "self.version", + "drupal/core-discovery": "self.version", + "drupal/core-event-dispatcher": "self.version", + "drupal/core-file-cache": "self.version", + "drupal/core-file-security": "self.version", + "drupal/core-filesystem": "self.version", + "drupal/core-front-matter": "self.version", + "drupal/core-gettext": "self.version", + "drupal/core-graph": "self.version", + "drupal/core-http-foundation": "self.version", + "drupal/core-php-storage": "self.version", + "drupal/core-plugin": "self.version", + "drupal/core-proxy-builder": "self.version", + "drupal/core-render": "self.version", + "drupal/core-serialization": "self.version", + "drupal/core-transliteration": "self.version", + "drupal/core-utility": "self.version", + "drupal/core-uuid": "self.version", + "drupal/core-version": "self.version" + }, + "suggest": { + "ext-zip": "Needed to extend the plugin.manager.archiver service capability with the handling of files in the ZIP format." + }, + "type": "drupal-core", + "extra": { + "drupal-scaffold": { + "file-mapping": { + "[web-root]/.htaccess": "assets/scaffold/files/htaccess", + "[web-root]/README.md": "assets/scaffold/files/drupal.README.md", + "[web-root]/index.php": "assets/scaffold/files/index.php", + "[web-root]/.csslintrc": "assets/scaffold/files/csslintrc", + "[web-root]/robots.txt": "assets/scaffold/files/robots.txt", + "[web-root]/update.php": "assets/scaffold/files/update.php", + "[web-root]/web.config": "assets/scaffold/files/web.config", + "[web-root]/INSTALL.txt": "assets/scaffold/files/drupal.INSTALL.txt", + "[web-root]/.eslintignore": "assets/scaffold/files/eslintignore", + "[web-root]/.eslintrc.json": "assets/scaffold/files/eslintrc.json", + "[web-root]/.ht.router.php": "assets/scaffold/files/ht.router.php", + "[web-root]/sites/README.txt": "assets/scaffold/files/sites.README.txt", + "[project-root]/.editorconfig": "assets/scaffold/files/editorconfig", + "[web-root]/example.gitignore": "assets/scaffold/files/example.gitignore", + "[web-root]/themes/README.txt": "assets/scaffold/files/themes.README.txt", + "[project-root]/.gitattributes": "assets/scaffold/files/gitattributes", + "[web-root]/modules/README.txt": "assets/scaffold/files/modules.README.txt", + "[web-root]/profiles/README.txt": "assets/scaffold/files/profiles.README.txt", + "[web-root]/sites/example.sites.php": "assets/scaffold/files/example.sites.php", + "[web-root]/sites/development.services.yml": "assets/scaffold/files/development.services.yml", + "[web-root]/sites/example.settings.local.php": "assets/scaffold/files/example.settings.local.php", + "[web-root]/sites/default/default.services.yml": "assets/scaffold/files/default.services.yml", + "[web-root]/sites/default/default.settings.php": "assets/scaffold/files/default.settings.php" + } + } }, - "type": "library", "autoload": { + "files": [ + "includes/bootstrap.inc" + ], "psr-4": { - "PHPStan\\PhpDocParser\\": [ - "src/" - ] - } + "Drupal\\Core\\": "lib/Drupal/Core", + "Drupal\\Component\\": "lib/Drupal/Component" + }, + "classmap": [ + "lib/Drupal.php", + "lib/Drupal/Component/DependencyInjection/Container.php", + "lib/Drupal/Component/DependencyInjection/PhpArrayContainer.php", + "lib/Drupal/Component/FileCache/FileCacheFactory.php", + "lib/Drupal/Component/Utility/Timer.php", + "lib/Drupal/Component/Utility/Unicode.php", + "lib/Drupal/Core/Cache/Cache.php", + "lib/Drupal/Core/Cache/CacheBackendInterface.php", + "lib/Drupal/Core/Cache/CacheTagsChecksumInterface.php", + "lib/Drupal/Core/Cache/CacheTagsChecksumTrait.php", + "lib/Drupal/Core/Cache/CacheTagsInvalidatorInterface.php", + "lib/Drupal/Core/Cache/DatabaseBackend.php", + "lib/Drupal/Core/Cache/DatabaseCacheTagsChecksum.php", + "lib/Drupal/Core/Database/Connection.php", + "lib/Drupal/Core/Database/Database.php", + "lib/Drupal/Core/Database/StatementInterface.php", + "lib/Drupal/Core/DependencyInjection/Container.php", + "lib/Drupal/Core/DrupalKernel.php", + "lib/Drupal/Core/DrupalKernelInterface.php", + "lib/Drupal/Core/Installer/InstallerRedirectTrait.php", + "lib/Drupal/Core/Site/Settings.php", + "lib/Drupal/Component/Datetime/Time.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "GPL-2.0-or-later" ], - "description": "PHPDoc parser with support for nullable, intersection and generic types", + "description": "Drupal is an open source content management platform powering millions of websites and applications.", "support": { - "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.2" + "source": "https://github.com/drupal/core/tree/10.6.3" }, - "time": "2026-01-25T14:56:51+00:00" + "time": "2026-02-05T08:14:57+00:00" }, { - "name": "sirbrillig/phpcs-variable-analysis", - "version": "v2.13.0", + "name": "egulias/email-validator", + "version": "4.0.4", "source": { "type": "git", - "url": "https://github.com/sirbrillig/phpcs-variable-analysis.git", - "reference": "a15e970b8a0bf64cfa5e86d941f5e6b08855f369" + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sirbrillig/phpcs-variable-analysis/zipball/a15e970b8a0bf64cfa5e86d941f5e6b08855f369", - "reference": "a15e970b8a0bf64cfa5e86d941f5e6b08855f369", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa", + "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa", "shasum": "" }, "require": { - "php": ">=5.4.0", - "squizlabs/php_codesniffer": "^3.5.7 || ^4.0.0" + "doctrine/lexer": "^2.0 || ^3.0", + "php": ">=8.1", + "symfony/polyfill-intl-idn": "^1.26" }, "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.7 || ^1.0", - "phpstan/phpstan": "^1.7 || ^2.0", - "phpunit/phpunit": "^4.8.36 || ^5.7.21 || ^6.5 || ^7.0 || ^8.0 || ^9.0 || ^10.5.32 || ^11.3.3", - "vimeo/psalm": "^0.2 || ^0.3 || ^1.1 || ^4.24 || ^5.0 || ^6.0 || ^7.0" + "phpunit/phpunit": "^10.2", + "vimeo/psalm": "^5.12" + }, + "suggest": { + "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0.x-dev" + } }, - "type": "phpcodesniffer-standard", "autoload": { "psr-4": { - "VariableAnalysis\\": "VariableAnalysis/" + "Egulias\\EmailValidator\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-2-Clause" + "MIT" ], "authors": [ { - "name": "Sam Graham", - "email": "php-codesniffer-variableanalysis@illusori.co.uk" - }, - { - "name": "Payton Swick", - "email": "payton@foolord.com" + "name": "Eduardo Gulias Davis" } ], - "description": "A PHPCS sniff to detect problems with variables.", + "description": "A library for validating emails against several RFCs", + "homepage": "https://github.com/egulias/EmailValidator", "keywords": [ - "phpcs", - "static analysis" + "email", + "emailvalidation", + "emailvalidator", + "validation", + "validator" ], "support": { - "issues": "https://github.com/sirbrillig/phpcs-variable-analysis/issues", - "source": "https://github.com/sirbrillig/phpcs-variable-analysis", - "wiki": "https://github.com/sirbrillig/phpcs-variable-analysis/wiki" + "issues": "https://github.com/egulias/EmailValidator/issues", + "source": "https://github.com/egulias/EmailValidator/tree/4.0.4" }, - "time": "2025-09-30T22:22:48+00:00" + "funding": [ + { + "url": "https://github.com/egulias", + "type": "github" + } + ], + "time": "2025-03-06T22:45:56+00:00" }, { - "name": "slevomat/coding-standard", - "version": "8.22.1", + "name": "guzzlehttp/guzzle", + "version": "7.10.0", "source": { "type": "git", - "url": "https://github.com/slevomat/coding-standard.git", - "reference": "1dd80bf3b93692bedb21a6623c496887fad05fec" + "url": "https://github.com/guzzle/guzzle.git", + "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/1dd80bf3b93692bedb21a6623c496887fad05fec", - "reference": "1dd80bf3b93692bedb21a6623c496887fad05fec", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", + "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", "shasum": "" }, "require": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7 || ^1.1.2", - "php": "^7.4 || ^8.0", - "phpstan/phpdoc-parser": "^2.3.0", - "squizlabs/php_codesniffer": "^3.13.4" + "ext-json": "*", + "guzzlehttp/promises": "^2.3", + "guzzlehttp/psr7": "^2.8", + "php": "^7.2.5 || ^8.0", + "psr/http-client": "^1.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "provide": { + "psr/http-client-implementation": "1.0" }, "require-dev": { - "phing/phing": "3.0.1|3.1.0", - "php-parallel-lint/php-parallel-lint": "1.4.0", - "phpstan/phpstan": "2.1.24", - "phpstan/phpstan-deprecation-rules": "2.0.3", - "phpstan/phpstan-phpunit": "2.0.7", - "phpstan/phpstan-strict-rules": "2.0.6", - "phpunit/phpunit": "9.6.8|10.5.48|11.4.4|11.5.36|12.3.10" + "bamarni/composer-bin-plugin": "^1.8.2", + "ext-curl": "*", + "guzzle/client-integration-tests": "3.0.2", + "php-http/message-factory": "^1.1", + "phpunit/phpunit": "^8.5.39 || ^9.6.20", + "psr/log": "^1.1 || ^2.0 || ^3.0" }, - "type": "phpcodesniffer-standard", + "suggest": { + "ext-curl": "Required for CURL handler support", + "ext-intl": "Required for Internationalized Domain Name (IDN) support", + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "psr-18", + "psr-7", + "rest", + "web service" + ], + "support": { + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/7.10.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", + "type": "tidelift" + } + ], + "time": "2025-08-23T22:36:01+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "2.3.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "481557b130ef3790cf82b713667b43030dc9c957" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957", + "reference": "481557b130ef3790cf82b713667b43030dc9c957", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.44 || ^9.6.25" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "support": { + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/2.3.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", + "type": "tidelift" + } + ], + "time": "2025-08-22T14:34:08+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "2.8.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "21dc724a0583619cd1652f673303492272778051" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/21dc724a0583619cd1652f673303492272778051", + "reference": "21dc724a0583619cd1652f673303492272778051", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.1 || ^2.0", + "ralouphie/getallheaders": "^3.0" + }, + "provide": { + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "http-interop/http-factory-tests": "0.9.0", + "phpunit/phpunit": "^8.5.44 || ^9.6.25" + }, + "suggest": { + "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/2.8.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", + "type": "tidelift" + } + ], + "time": "2025-08-23T21:21:41+00:00" + }, + { + "name": "masterminds/html5", + "version": "2.10.0", + "source": { + "type": "git", + "url": "https://github.com/Masterminds/html5-php.git", + "reference": "fcf91eb64359852f00d921887b219479b4f21251" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/fcf91eb64359852f00d921887b219479b4f21251", + "reference": "fcf91eb64359852f00d921887b219479b4f21251", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8 || ^9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Masterminds\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matt Butcher", + "email": "technosophos@gmail.com" + }, + { + "name": "Matt Farina", + "email": "matt@mattfarina.com" + }, + { + "name": "Asmir Mustafic", + "email": "goetas@gmail.com" + } + ], + "description": "An HTML5 parser and serializer.", + "homepage": "http://masterminds.github.io/html5-php", + "keywords": [ + "HTML5", + "dom", + "html", + "parser", + "querypath", + "serializer", + "xml" + ], + "support": { + "issues": "https://github.com/Masterminds/html5-php/issues", + "source": "https://github.com/Masterminds/html5-php/tree/2.10.0" + }, + "time": "2025-07-25T09:04:22+00:00" + }, + { + "name": "mck89/peast", + "version": "v1.17.4", + "source": { + "type": "git", + "url": "https://github.com/mck89/peast.git", + "reference": "c6a63f32410d2e4ee2cd20fe94b35af147fb852d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mck89/peast/zipball/c6a63f32410d2e4ee2cd20fe94b35af147fb852d", + "reference": "c6a63f32410d2e4ee2cd20fe94b35af147fb852d", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17.4-dev" + } + }, + "autoload": { + "psr-4": { + "Peast\\": "lib/Peast/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Marco Marchiò", + "email": "marco.mm89@gmail.com" + } + ], + "description": "Peast is PHP library that generates AST for JavaScript code", + "support": { + "issues": "https://github.com/mck89/peast/issues", + "source": "https://github.com/mck89/peast/tree/v1.17.4" + }, + "time": "2025-10-10T12:53:17+00:00" + }, + { + "name": "mglaman/phpstan-drupal", + "version": "2.0.10", + "source": { + "type": "git", + "url": "https://github.com/mglaman/phpstan-drupal.git", + "reference": "2574aacbacede545490017df4387361698b67fef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mglaman/phpstan-drupal/zipball/2574aacbacede545490017df4387361698b67fef", + "reference": "2574aacbacede545490017df4387361698b67fef", + "shasum": "" + }, + "require": { + "php": "^8.1", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-deprecation-rules": "^2.0", + "symfony/finder": "^6.2 || ^7.0", + "symfony/yaml": "^6.2 || ^7.0", + "webflo/drupal-finder": "^1.3.1" + }, + "require-dev": { + "behat/mink": "^1.10", + "composer/installers": "^1.9 || ^2", + "drupal/core-recommended": "^11", + "drush/drush": "^11 || ^12 || ^13", + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^9 || ^10 || ^11", + "slevomat/coding-standard": "^8.6", + "squizlabs/php_codesniffer": "^3.7", + "symfony/phpunit-bridge": "^6.2 || ^7.0" + }, + "suggest": { + "jangregor/phpstan-prophecy": "Provides a prophecy/prophecy extension for phpstan/phpstan.", + "phpstan/phpstan-deprecation-rules": "For catching deprecations, especially in Drupal core.", + "phpstan/phpstan-phpunit": "PHPUnit extensions and rules for PHPStan." + }, + "type": "phpstan-extension", + "extra": { + "phpstan": { + "includes": [ + "extension.neon", + "rules.neon" + ] + }, + "installer-paths": { + "tests/fixtures/drupal/core": [ + "type:drupal-core" + ], + "tests/fixtures/drupal/libraries/{$name}": [ + "type:drupal-library" + ], + "tests/fixtures/drupal/themes/contrib/{$name}": [ + "type:drupal-theme" + ], + "tests/fixtures/drupal/modules/contrib/{$name}": [ + "type:drupal-module" + ], + "tests/fixtures/drupal/profiles/contrib/{$name}": [ + "type:drupal-profile" + ] + } + }, + "autoload": { + "psr-4": { + "mglaman\\PHPStanDrupal\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matt Glaman", + "email": "nmd.matt@gmail.com" + } + ], + "description": "Drupal extension and rules for PHPStan", + "support": { + "issues": "https://github.com/mglaman/phpstan-drupal/issues", + "source": "https://github.com/mglaman/phpstan-drupal/tree/2.0.10" + }, + "funding": [ + { + "url": "https://github.com/mglaman", + "type": "github" + }, + { + "url": "https://opencollective.com/phpstan-drupal", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/mglaman/phpstan-drupal", + "type": "tidelift" + } + ], + "time": "2025-10-22T17:33:43+00:00" + }, + { + "name": "pear/archive_tar", + "version": "1.6.0", + "source": { + "type": "git", + "url": "https://github.com/pear/Archive_Tar.git", + "reference": "dc3285537f1832da8ddbbe45f5a007248b6cc00e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/pear/Archive_Tar/zipball/dc3285537f1832da8ddbbe45f5a007248b6cc00e", + "reference": "dc3285537f1832da8ddbbe45f5a007248b6cc00e", + "shasum": "" + }, + "require": { + "pear/pear-core-minimal": "^1.10.0alpha2", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "*" + }, + "suggest": { + "ext-bz2": "Bz2 compression support.", + "ext-xz": "Lzma2 compression support.", + "ext-zlib": "Gzip compression support." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, + "autoload": { + "psr-0": { + "Archive_Tar": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "include-path": [ + "./" + ], + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Vincent Blavet", + "email": "vincent@phpconcept.net" + }, + { + "name": "Greg Beaver", + "email": "greg@chiaraquartet.net" + }, + { + "name": "Michiel Rook", + "email": "mrook@php.net" + } + ], + "description": "Tar file management class with compression support (gzip, bzip2, lzma2)", + "homepage": "https://github.com/pear/Archive_Tar", + "keywords": [ + "archive", + "tar" + ], + "support": { + "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Archive_Tar", + "source": "https://github.com/pear/Archive_Tar" + }, + "time": "2025-07-19T14:49:16+00:00" + }, + { + "name": "pear/console_getopt", + "version": "v1.4.3", + "source": { + "type": "git", + "url": "https://github.com/pear/Console_Getopt.git", + "reference": "a41f8d3e668987609178c7c4a9fe48fecac53fa0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/pear/Console_Getopt/zipball/a41f8d3e668987609178c7c4a9fe48fecac53fa0", + "reference": "a41f8d3e668987609178c7c4a9fe48fecac53fa0", + "shasum": "" + }, + "type": "library", + "autoload": { + "psr-0": { + "Console": "./" + } + }, + "notification-url": "https://packagist.org/downloads/", + "include-path": [ + "./" + ], + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Andrei Zmievski", + "email": "andrei@php.net", + "role": "Lead" + }, + { + "name": "Stig Bakken", + "email": "stig@php.net", + "role": "Developer" + }, + { + "name": "Greg Beaver", + "email": "cellog@php.net", + "role": "Helper" + } + ], + "description": "More info available on: http://pear.php.net/package/Console_Getopt", + "support": { + "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Console_Getopt", + "source": "https://github.com/pear/Console_Getopt" + }, + "time": "2019-11-20T18:27:48+00:00" + }, + { + "name": "pear/pear-core-minimal", + "version": "v1.10.18", + "source": { + "type": "git", + "url": "https://github.com/pear/pear-core-minimal.git", + "reference": "c7b55789d01de0ce090d289b73f1bbd6a2f113b1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/c7b55789d01de0ce090d289b73f1bbd6a2f113b1", + "reference": "c7b55789d01de0ce090d289b73f1bbd6a2f113b1", + "shasum": "" + }, + "require": { + "pear/console_getopt": "~1.4", + "pear/pear_exception": "~1.0", + "php": ">=5.4" + }, + "replace": { + "rsky/pear-core-min": "self.version" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "include-path": [ + "src/" + ], + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Christian Weiske", + "email": "cweiske@php.net", + "role": "Lead" + } + ], + "description": "Minimal set of PEAR core files to be used as composer dependency", + "support": { + "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=PEAR", + "source": "https://github.com/pear/pear-core-minimal" + }, + "time": "2025-12-14T20:37:07+00:00" + }, + { + "name": "pear/pear_exception", + "version": "v1.0.2", + "source": { + "type": "git", + "url": "https://github.com/pear/PEAR_Exception.git", + "reference": "b14fbe2ddb0b9f94f5b24cf08783d599f776fff0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/pear/PEAR_Exception/zipball/b14fbe2ddb0b9f94f5b24cf08783d599f776fff0", + "reference": "b14fbe2ddb0b9f94f5b24cf08783d599f776fff0", + "shasum": "" + }, + "require": { + "php": ">=5.2.0" + }, + "require-dev": { + "phpunit/phpunit": "<9" + }, + "type": "class", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "PEAR/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "include-path": [ + "." + ], + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Helgi Thormar", + "email": "dufuz@php.net" + }, + { + "name": "Greg Beaver", + "email": "cellog@php.net" + } + ], + "description": "The PEAR Exception base class.", + "homepage": "https://github.com/pear/PEAR_Exception", + "keywords": [ + "exception" + ], + "support": { + "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=PEAR_Exception", + "source": "https://github.com/pear/PEAR_Exception" + }, + "time": "2021-03-21T15:43:46+00:00" + }, + { + "name": "phpstan/phpdoc-parser", + "version": "2.3.2", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpdoc-parser.git", + "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/a004701b11273a26cd7955a61d67a7f1e525a45a", + "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "doctrine/annotations": "^2.0", + "nikic/php-parser": "^5.3.0", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^9.6", + "symfony/process": "^5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPStan\\PhpDocParser\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPDoc parser with support for nullable, intersection and generic types", + "support": { + "issues": "https://github.com/phpstan/phpdoc-parser/issues", + "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.2" + }, + "time": "2026-01-25T14:56:51+00:00" + }, + { + "name": "phpstan/phpstan", + "version": "2.1.40", + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/9b2c7aeb83a75d8680ea5e7c9b7fca88052b766b", + "reference": "9b2c7aeb83a75d8680ea5e7c9b7fca88052b766b", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0" + }, + "conflict": { + "phpstan/phpstan-shim": "*" + }, + "bin": [ + "phpstan", + "phpstan.phar" + ], + "type": "library", + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan - PHP Static Analysis Tool", + "keywords": [ + "dev", + "static analysis" + ], + "support": { + "docs": "https://phpstan.org/user-guide/getting-started", + "forum": "https://github.com/phpstan/phpstan/discussions", + "issues": "https://github.com/phpstan/phpstan/issues", + "security": "https://github.com/phpstan/phpstan/security/policy", + "source": "https://github.com/phpstan/phpstan-src" + }, + "funding": [ + { + "url": "https://github.com/ondrejmirtes", + "type": "github" + }, + { + "url": "https://github.com/phpstan", + "type": "github" + } + ], + "time": "2026-02-23T15:04:35+00:00" + }, + { + "name": "phpstan/phpstan-deprecation-rules", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan-deprecation-rules.git", + "reference": "6b5571001a7f04fa0422254c30a0017ec2f2cacc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/6b5571001a7f04fa0422254c30a0017ec2f2cacc", + "reference": "6b5571001a7f04fa0422254c30a0017ec2f2cacc", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0", + "phpstan/phpstan": "^2.1.39" + }, + "require-dev": { + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^9.6" + }, + "type": "phpstan-extension", + "extra": { + "phpstan": { + "includes": [ + "rules.neon" + ] + } + }, + "autoload": { + "psr-4": { + "PHPStan\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan rules for detecting usage of deprecated classes, methods, properties, constants and traits.", + "keywords": [ + "static analysis" + ], + "support": { + "issues": "https://github.com/phpstan/phpstan-deprecation-rules/issues", + "source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/2.0.4" + }, + "time": "2026-02-09T13:21:14+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/http-client", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "support": { + "source": "https://github.com/php-fig/http-client" + }, + "time": "2023-09-23T14:17:50+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory" + }, + "time": "2024-04-15T12:06:14+00:00" + }, + { + "name": "psr/http-message", + "version": "2.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/2.0" + }, + "time": "2023-04-04T09:54:51+00:00" + }, + { + "name": "psr/log", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.2" + }, + "time": "2024-09-11T13:17:53+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, + "time": "2019-03-08T08:55:37+00:00" + }, + { + "name": "sebastian/diff", + "version": "4.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc", + "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T06:30:58+00:00" + }, + { + "name": "sirbrillig/phpcs-variable-analysis", + "version": "v2.13.0", + "source": { + "type": "git", + "url": "https://github.com/sirbrillig/phpcs-variable-analysis.git", + "reference": "a15e970b8a0bf64cfa5e86d941f5e6b08855f369" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sirbrillig/phpcs-variable-analysis/zipball/a15e970b8a0bf64cfa5e86d941f5e6b08855f369", + "reference": "a15e970b8a0bf64cfa5e86d941f5e6b08855f369", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "squizlabs/php_codesniffer": "^3.5.7 || ^4.0.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.7 || ^1.0", + "phpstan/phpstan": "^1.7 || ^2.0", + "phpunit/phpunit": "^4.8.36 || ^5.7.21 || ^6.5 || ^7.0 || ^8.0 || ^9.0 || ^10.5.32 || ^11.3.3", + "vimeo/psalm": "^0.2 || ^0.3 || ^1.1 || ^4.24 || ^5.0 || ^6.0 || ^7.0" + }, + "type": "phpcodesniffer-standard", + "autoload": { + "psr-4": { + "VariableAnalysis\\": "VariableAnalysis/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Sam Graham", + "email": "php-codesniffer-variableanalysis@illusori.co.uk" + }, + { + "name": "Payton Swick", + "email": "payton@foolord.com" + } + ], + "description": "A PHPCS sniff to detect problems with variables.", + "keywords": [ + "phpcs", + "static analysis" + ], + "support": { + "issues": "https://github.com/sirbrillig/phpcs-variable-analysis/issues", + "source": "https://github.com/sirbrillig/phpcs-variable-analysis", + "wiki": "https://github.com/sirbrillig/phpcs-variable-analysis/wiki" + }, + "time": "2025-09-30T22:22:48+00:00" + }, + { + "name": "slevomat/coding-standard", + "version": "8.22.1", + "source": { + "type": "git", + "url": "https://github.com/slevomat/coding-standard.git", + "reference": "1dd80bf3b93692bedb21a6623c496887fad05fec" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/1dd80bf3b93692bedb21a6623c496887fad05fec", + "reference": "1dd80bf3b93692bedb21a6623c496887fad05fec", + "shasum": "" + }, + "require": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7 || ^1.1.2", + "php": "^7.4 || ^8.0", + "phpstan/phpdoc-parser": "^2.3.0", + "squizlabs/php_codesniffer": "^3.13.4" + }, + "require-dev": { + "phing/phing": "3.0.1|3.1.0", + "php-parallel-lint/php-parallel-lint": "1.4.0", + "phpstan/phpstan": "2.1.24", + "phpstan/phpstan-deprecation-rules": "2.0.3", + "phpstan/phpstan-phpunit": "2.0.7", + "phpstan/phpstan-strict-rules": "2.0.6", + "phpunit/phpunit": "9.6.8|10.5.48|11.4.4|11.5.36|12.3.10" + }, + "type": "phpcodesniffer-standard", + "extra": { + "branch-alias": { + "dev-master": "8.x-dev" + } + }, + "autoload": { + "psr-4": { + "SlevomatCodingStandard\\": "SlevomatCodingStandard/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.", + "keywords": [ + "dev", + "phpcs" + ], + "support": { + "issues": "https://github.com/slevomat/coding-standard/issues", + "source": "https://github.com/slevomat/coding-standard/tree/8.22.1" + }, + "funding": [ + { + "url": "https://github.com/kukulich", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/slevomat/coding-standard", + "type": "tidelift" + } + ], + "time": "2025-09-13T08:53:30+00:00" + }, + { + "name": "squizlabs/php_codesniffer", + "version": "3.13.5", + "source": { + "type": "git", + "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", + "reference": "0ca86845ce43291e8f5692c7356fccf3bcf02bf4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/0ca86845ce43291e8f5692c7356fccf3bcf02bf4", + "reference": "0ca86845ce43291e8f5692c7356fccf3bcf02bf4", + "shasum": "" + }, + "require": { + "ext-simplexml": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4" + }, + "bin": [ + "bin/phpcbf", + "bin/phpcs" + ], + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Greg Sherwood", + "role": "Former lead" + }, + { + "name": "Juliette Reinders Folmer", + "role": "Current lead" + }, + { + "name": "Contributors", + "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer/graphs/contributors" + } + ], + "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", + "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer", + "keywords": [ + "phpcs", + "standards", + "static analysis" + ], + "support": { + "issues": "https://github.com/PHPCSStandards/PHP_CodeSniffer/issues", + "security": "https://github.com/PHPCSStandards/PHP_CodeSniffer/security/policy", + "source": "https://github.com/PHPCSStandards/PHP_CodeSniffer", + "wiki": "https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki" + }, + "funding": [ + { + "url": "https://github.com/PHPCSStandards", + "type": "github" + }, + { + "url": "https://github.com/jrfnl", + "type": "github" + }, + { + "url": "https://opencollective.com/php_codesniffer", + "type": "open_collective" + }, + { + "url": "https://thanks.dev/u/gh/phpcsstandards", + "type": "thanks_dev" + } + ], + "time": "2025-11-04T16:30:35+00:00" + }, + { + "name": "symfony/console", + "version": "v6.4.32", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "0bc2199c6c1f05276b05956f1ddc63f6d7eb5fc3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/0bc2199c6c1f05276b05956f1ddc63f6d7eb5fc3", + "reference": "0bc2199c6c1f05276b05956f1ddc63f6d7eb5fc3", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^5.4|^6.0|^7.0" + }, + "conflict": { + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v6.4.32" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-01-13T08:45:59+00:00" + }, + { + "name": "symfony/dependency-injection", + "version": "v6.4.32", + "source": { + "type": "git", + "url": "https://github.com/symfony/dependency-injection.git", + "reference": "b17882e933c4c606620247b6708ab53aa3b88753" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/b17882e933c4c606620247b6708ab53aa3b88753", + "reference": "b17882e933c4c606620247b6708ab53aa3b88753", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/service-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^6.4.20|^7.2.5" + }, + "conflict": { + "ext-psr": "<1.1|>=2", + "symfony/config": "<6.1", + "symfony/finder": "<5.4", + "symfony/proxy-manager-bridge": "<6.3", + "symfony/yaml": "<5.4" + }, + "provide": { + "psr/container-implementation": "1.1|2.0", + "symfony/service-implementation": "1.1|2.0|3.0" + }, + "require-dev": { + "symfony/config": "^6.1|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\DependencyInjection\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Allows you to standardize and centralize the way objects are constructed in your application", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/dependency-injection/tree/v6.4.32" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-01-23T10:54:33+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:21:43+00:00" + }, + { + "name": "symfony/error-handler", + "version": "v7.4.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/error-handler.git", + "reference": "8da531f364ddfee53e36092a7eebbbd0b775f6b8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/8da531f364ddfee53e36092a7eebbbd0b775f6b8", + "reference": "8da531f364ddfee53e36092a7eebbbd0b775f6b8", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "psr/log": "^1|^2|^3", + "symfony/polyfill-php85": "^1.32", + "symfony/var-dumper": "^6.4|^7.0|^8.0" + }, + "conflict": { + "symfony/deprecation-contracts": "<2.5", + "symfony/http-kernel": "<6.4" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/serializer": "^6.4|^7.0|^8.0", + "symfony/webpack-encore-bundle": "^1.0|^2.0" + }, + "bin": [ + "Resources/bin/patch-type-declarations" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\ErrorHandler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to manage errors and ease debugging PHP code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/error-handler/tree/v7.4.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-01-20T16:42:42+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v6.4.32", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "99d7e101826e6610606b9433248f80c1997cd20b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/99d7e101826e6610606b9433248f80c1997cd20b", + "reference": "99d7e101826e6610606b9433248f80c1997cd20b", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/event-dispatcher-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/dependency-injection": "<5.4", + "symfony/service-contracts": "<2.5" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/stopwatch": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.32" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-01-05T11:13:48+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/event-dispatcher": "^1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:21:43+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v6.4.30", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "441c6b69f7222aadae7cbf5df588496d5ee37789" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/441c6b69f7222aadae7cbf5df588496d5ee37789", + "reference": "441c6b69f7222aadae7cbf5df588496d5ee37789", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8" + }, + "require-dev": { + "symfony/process": "^5.4|^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides basic utilities for the filesystem", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v6.4.30" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-11-26T14:43:45+00:00" + }, + { + "name": "symfony/finder", + "version": "v6.4.33", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "24965ca011dac87431729640feef8bcf7b5523e0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/24965ca011dac87431729640feef8bcf7b5523e0", + "reference": "24965ca011dac87431729640feef8bcf7b5523e0", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "symfony/filesystem": "^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v6.4.33" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-01-26T13:03:48+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v6.4.33", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "f1a490cc9d595ba7ebe684220e625d1e472ad278" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f1a490cc9d595ba7ebe684220e625d1e472ad278", + "reference": "f1a490cc9d595ba7ebe684220e625d1e472ad278", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php83": "^1.27" + }, + "conflict": { + "symfony/cache": "<6.4.12|>=7.0,<7.1.5" + }, + "require-dev": { + "doctrine/dbal": "^2.13.1|^3|^4", + "predis/predis": "^1.1|^2.0", + "symfony/cache": "^6.4.12|^7.1.5", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", + "symfony/mime": "^5.4|^6.0|^7.0", + "symfony/rate-limiter": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Defines an object-oriented layer for the HTTP specification", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-foundation/tree/v6.4.33" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-01-27T15:04:55+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v6.4.33", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "73fa5c999d7f741ca544a97d3c791cc97890ae4d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/73fa5c999d7f741ca544a97d3c791cc97890ae4d", + "reference": "73fa5c999d7f741ca544a97d3c791cc97890ae4d", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/error-handler": "^6.4|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/browser-kit": "<5.4", + "symfony/cache": "<5.4", + "symfony/config": "<6.1", + "symfony/console": "<5.4", + "symfony/dependency-injection": "<6.4", + "symfony/doctrine-bridge": "<5.4", + "symfony/form": "<5.4", + "symfony/http-client": "<5.4", + "symfony/http-client-contracts": "<2.5", + "symfony/mailer": "<5.4", + "symfony/messenger": "<5.4", + "symfony/translation": "<5.4", + "symfony/translation-contracts": "<2.5", + "symfony/twig-bridge": "<5.4", + "symfony/validator": "<6.4", + "symfony/var-dumper": "<6.3", + "twig/twig": "<2.13" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/cache": "^1.0|^2.0|^3.0", + "symfony/browser-kit": "^5.4|^6.0|^7.0", + "symfony/clock": "^6.2|^7.0", + "symfony/config": "^6.1|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/css-selector": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/dom-crawler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/http-client-contracts": "^2.5|^3", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4.5|^6.0.5|^7.0", + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.4.4|^7.0.4", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/translation": "^5.4|^6.0|^7.0", + "symfony/translation-contracts": "^2.5|^3", + "symfony/uid": "^5.4|^6.0|^7.0", + "symfony/validator": "^6.4|^7.0", + "symfony/var-dumper": "^5.4|^6.4|^7.0", + "symfony/var-exporter": "^6.2|^7.0", + "twig/twig": "^2.13|^3.0.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpKernel\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a structured process for converting a Request into a Response", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-kernel/tree/v6.4.33" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-01-28T10:02:13+00:00" + }, + { + "name": "symfony/mailer", + "version": "v6.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/mailer.git", + "reference": "8835f93333474780fda1b987cae37e33c3e026ca" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mailer/zipball/8835f93333474780fda1b987cae37e33c3e026ca", + "reference": "8835f93333474780fda1b987cae37e33c3e026ca", + "shasum": "" + }, + "require": { + "egulias/email-validator": "^2.1.10|^3|^4", + "php": ">=8.1", + "psr/event-dispatcher": "^1", + "psr/log": "^1|^2|^3", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/mime": "^6.2|^7.0", + "symfony/service-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<5.4", + "symfony/messenger": "<6.2", + "symfony/mime": "<6.2", + "symfony/twig-bridge": "<6.2.1" + }, + "require-dev": { + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/messenger": "^6.2|^7.0", + "symfony/twig-bridge": "^6.2|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mailer\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Helps sending emails", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/mailer/tree/v6.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-12-12T07:33:25+00:00" + }, + { + "name": "symfony/mime", + "version": "v6.4.32", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "7409686879ca36c09fc970a5fa8ff6e93504dba4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/7409686879ca36c09fc970a5fa8ff6e93504dba4", + "reference": "7409686879ca36c09fc970a5fa8ff6e93504dba4", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" + }, + "conflict": { + "egulias/email-validator": "~3.0.0", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/mailer": "<5.4", + "symfony/serializer": "<6.4.3|>7.0,<7.0.3" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10|^3.1|^4", + "league/html-to-markdown": "^5.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.4|^7.0", + "symfony/property-access": "^5.4|^6.0|^7.0", + "symfony/property-info": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.4.3|^7.0.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mime\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Allows manipulating MIME messages", + "homepage": "https://symfony.com", + "keywords": [ + "mime", + "mime-type" + ], + "support": { + "source": "https://github.com/symfony/mime/tree/v6.4.32" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-01-04T11:53:14+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-iconv", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-iconv.git", + "reference": "5f3b930437ae03ae5dff61269024d8ea1b3774aa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/5f3b930437ae03ae5dff61269024d8ea1b3774aa", + "reference": "5f3b930437ae03ae5dff61269024d8ea1b3774aa", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "provide": { + "ext-iconv": "*" + }, + "suggest": { + "ext-iconv": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Iconv\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Iconv extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "iconv", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-17T14:58:18+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70", + "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-06-27T09:58:17+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "symfony/polyfill-intl-normalizer": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-10T14:38:51+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "3833d7255cc303546435cb650316bff708a1c75c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", + "shasum": "" + }, + "require": { + "ext-iconv": "*", + "php": ">=7.2" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-12-23T08:48:59+00:00" + }, + { + "name": "symfony/polyfill-php83", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php83.git", + "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5", + "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php83\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php83/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-07-08T02:45:35+00:00" + }, + { + "name": "symfony/polyfill-php85", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php85.git", + "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", + "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php85\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.5+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php85/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-06-23T16:12:55+00:00" + }, + { + "name": "symfony/process", + "version": "v6.4.33", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "c46e854e79b52d07666e43924a20cb6dc546644e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/c46e854e79b52d07666e43924a20cb6dc546644e", + "reference": "c46e854e79b52d07666e43924a20cb6dc546644e", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Executes commands in sub-processes", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v6.4.33" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-01-23T16:02:12+00:00" + }, + { + "name": "symfony/psr-http-message-bridge", + "version": "v6.4.32", + "source": { + "type": "git", + "url": "https://github.com/symfony/psr-http-message-bridge.git", + "reference": "740017f61ce31b4aca485a18a25c0310ebd0190f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/740017f61ce31b4aca485a18a25c0310ebd0190f", + "reference": "740017f61ce31b4aca485a18a25c0310ebd0190f", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/http-message": "^1.0|^2.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0" + }, + "conflict": { + "php-http/discovery": "<1.15", + "symfony/http-kernel": "<6.2" + }, + "require-dev": { + "nyholm/psr7": "^1.1", + "php-http/discovery": "^1.15", + "psr/log": "^1.1.4|^2|^3", + "symfony/browser-kit": "^5.4|^6.0|^7.0", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/framework-bundle": "^6.2|^7.0", + "symfony/http-kernel": "^6.2|^7.0" + }, + "type": "symfony-bridge", + "autoload": { + "psr-4": { + "Symfony\\Bridge\\PsrHttpMessage\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "PSR HTTP message bridge", + "homepage": "https://symfony.com", + "keywords": [ + "http", + "http-message", + "psr-17", + "psr-7" + ], + "support": { + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.32" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-01-02T11:59:06+00:00" + }, + { + "name": "symfony/routing", + "version": "v6.4.32", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "0dc6253e864e71b486e8ba4970a56ab849106ebe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/0dc6253e864e71b486e8ba4970a56ab849106ebe", + "reference": "0dc6253e864e71b486e8ba4970a56ab849106ebe", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "doctrine/annotations": "<1.12", + "symfony/config": "<6.2", + "symfony/dependency-injection": "<5.4", + "symfony/yaml": "<5.4" + }, + "require-dev": { + "doctrine/annotations": "^1.12|^2", + "psr/log": "^1|^2|^3", + "symfony/config": "^6.2|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Routing\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Maps an HTTP request to a set of configuration variables", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "support": { + "source": "https://github.com/symfony/routing/tree/v6.4.32" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-01-12T08:31:19+00:00" + }, + { + "name": "symfony/serializer", + "version": "v6.4.33", + "source": { + "type": "git", + "url": "https://github.com/symfony/serializer.git", + "reference": "b53a060656bd28060c9fa28e2cab151348fd49b5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/serializer/zipball/b53a060656bd28060c9fa28e2cab151348fd49b5", + "reference": "b53a060656bd28060c9fa28e2cab151348fd49b5", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "doctrine/annotations": "<1.12", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/dependency-injection": "<5.4", + "symfony/property-access": "<5.4", + "symfony/property-info": "<5.4.24|>=6,<6.2.11", + "symfony/uid": "<5.4", + "symfony/validator": "<6.4", + "symfony/yaml": "<5.4" + }, + "require-dev": { + "doctrine/annotations": "^1.12|^2", + "phpdocumentor/reflection-docblock": "^3.2|^4.0|^5.0", + "seld/jsonlint": "^1.10", + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/filesystem": "^5.4|^6.0|^7.0", + "symfony/form": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/mime": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4.26|^6.3|^7.0", + "symfony/property-info": "^5.4.24|^6.2.11|^7.0", + "symfony/translation-contracts": "^2.5|^3", + "symfony/uid": "^5.4|^6.0|^7.0", + "symfony/validator": "^6.4|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0", + "symfony/var-exporter": "^5.4|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Serializer\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/serializer/tree/v6.4.33" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-01-26T08:32:52+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v3.6.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43", + "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { - "dev-master": "8.x-dev" + "dev-main": "3.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v3.6.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-07-15T11:30:57+00:00" + }, + { + "name": "symfony/string", + "version": "v7.4.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "1c4b10461bf2ec27537b5f36105337262f5f5d6f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/1c4b10461bf2ec27537b5f36105337262f5f5d6f", + "reference": "1c4b10461bf2ec27537b5f36105337262f5f5d6f", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3.0", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.33", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.5" + }, + "require-dev": { + "symfony/emoji": "^7.1|^8.0", + "symfony/http-client": "^6.4|^7.0|^8.0", + "symfony/intl": "^6.4|^7.0|^8.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^6.4|^7.0|^8.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v7.4.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-01-12T10:54:30+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v3.6.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "65a8bc82080447fae78373aa10f8d13b38338977" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/65a8bc82080447fae78373aa10f8d13b38338977", + "reference": "65a8bc82080447fae78373aa10f8d13b38338977", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to translation", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/v3.6.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } + ], + "time": "2025-07-15T13:41:35+00:00" + }, + { + "name": "symfony/validator", + "version": "v6.4.33", + "source": { + "type": "git", + "url": "https://github.com/symfony/validator.git", + "reference": "da1a40418439c0483ca7e0d4ae4c4f744f6b8536" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/validator/zipball/da1a40418439c0483ca7e0d4ae4c4f744f6b8536", + "reference": "da1a40418439c0483ca7e0d4ae4c4f744f6b8536", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php83": "^1.27", + "symfony/translation-contracts": "^2.5|^3" + }, + "conflict": { + "doctrine/annotations": "<1.13", + "doctrine/lexer": "<1.1", + "symfony/dependency-injection": "<5.4", + "symfony/expression-language": "<5.4", + "symfony/http-kernel": "<5.4", + "symfony/intl": "<5.4", + "symfony/property-info": "<5.4", + "symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3|>=7.0,<7.0.3", + "symfony/yaml": "<5.4" + }, + "require-dev": { + "doctrine/annotations": "^1.13|^2", + "egulias/email-validator": "^2.1.10|^3|^4", + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/intl": "^5.4|^6.0|^7.0", + "symfony/mime": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4|^6.0|^7.0", + "symfony/property-info": "^5.4|^6.0|^7.0", + "symfony/translation": "^5.4.35|~6.3.12|^6.4.3|^7.0.3", + "symfony/yaml": "^5.4|^6.0|^7.0" }, + "type": "library", "autoload": { "psr-4": { - "SlevomatCodingStandard\\": "SlevomatCodingStandard/" - } + "Symfony\\Component\\Validator\\": "" + }, + "exclude-from-classmap": [ + "/Tests/", + "/Resources/bin/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.", - "keywords": [ - "dev", - "phpcs" + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } ], + "description": "Provides tools to validate values", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/slevomat/coding-standard/issues", - "source": "https://github.com/slevomat/coding-standard/tree/8.22.1" + "source": "https://github.com/symfony/validator/tree/v6.4.33" }, "funding": [ { - "url": "https://github.com/kukulich", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/slevomat/coding-standard", + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-09-13T08:53:30+00:00" + "time": "2026-01-26T16:20:53+00:00" }, { - "name": "squizlabs/php_codesniffer", - "version": "3.13.5", + "name": "symfony/var-dumper", + "version": "v7.4.4", "source": { "type": "git", - "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "0ca86845ce43291e8f5692c7356fccf3bcf02bf4" + "url": "https://github.com/symfony/var-dumper.git", + "reference": "0e4769b46a0c3c62390d124635ce59f66874b282" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/0ca86845ce43291e8f5692c7356fccf3bcf02bf4", - "reference": "0ca86845ce43291e8f5692c7356fccf3bcf02bf4", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0e4769b46a0c3c62390d124635ce59f66874b282", + "reference": "0e4769b46a0c3c62390d124635ce59f66874b282", "shasum": "" }, "require": { - "ext-simplexml": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": ">=5.4.0" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/console": "<6.4" }, "require-dev": { - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4" + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/uid": "^6.4|^7.0|^8.0", + "twig/twig": "^3.12" }, "bin": [ - "bin/phpcbf", - "bin/phpcs" + "Resources/bin/var-dump-server" ], "type": "library", + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Greg Sherwood", - "role": "Former lead" - }, - { - "name": "Juliette Reinders Folmer", - "role": "Current lead" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Contributors", - "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer/graphs/contributors" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", - "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer", + "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "homepage": "https://symfony.com", "keywords": [ - "phpcs", - "standards", - "static analysis" + "debug", + "dump" ], "support": { - "issues": "https://github.com/PHPCSStandards/PHP_CodeSniffer/issues", - "security": "https://github.com/PHPCSStandards/PHP_CodeSniffer/security/policy", - "source": "https://github.com/PHPCSStandards/PHP_CodeSniffer", - "wiki": "https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki" + "source": "https://github.com/symfony/var-dumper/tree/v7.4.4" }, "funding": [ { - "url": "https://github.com/PHPCSStandards", - "type": "github" + "url": "https://symfony.com/sponsor", + "type": "custom" }, { - "url": "https://github.com/jrfnl", + "url": "https://github.com/fabpot", "type": "github" }, { - "url": "https://opencollective.com/php_codesniffer", - "type": "open_collective" + "url": "https://github.com/nicolas-grekas", + "type": "github" }, { - "url": "https://thanks.dev/u/gh/phpcsstandards", - "type": "thanks_dev" + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2025-11-04T16:30:35+00:00" + "time": "2026-01-01T22:13:48+00:00" }, { - "name": "symfony/polyfill-ctype", - "version": "v1.33.0", + "name": "symfony/var-exporter", + "version": "v7.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" + "url": "https://github.com/symfony/var-exporter.git", + "reference": "03a60f169c79a28513a78c967316fbc8bf17816f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/03a60f169c79a28513a78c967316fbc8bf17816f", + "reference": "03a60f169c79a28513a78c967316fbc8bf17816f", "shasum": "" }, "require": { - "php": ">=7.2" - }, - "provide": { - "ext-ctype": "*" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3" }, - "suggest": { - "ext-ctype": "For best performance" + "require-dev": { + "symfony/property-access": "^6.4|^7.0|^8.0", + "symfony/serializer": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - } + "Symfony\\Component\\VarExporter\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -445,24 +4684,28 @@ ], "authors": [ { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for ctype functions", + "description": "Allows exporting any serializable PHP data structure to plain PHP code", "homepage": "https://symfony.com", "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" + "clone", + "construct", + "export", + "hydrate", + "instantiate", + "lazy-loading", + "proxy", + "serialize" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0" + "source": "https://github.com/symfony/var-exporter/tree/v7.4.0" }, "funding": [ { @@ -482,31 +4725,32 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2025-09-11T10:15:23+00:00" }, { "name": "symfony/yaml", - "version": "v8.0.1", + "version": "v6.4.30", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "7a1a90ba1df6e821a6b53c4cabdc32a56cabfb14" + "reference": "8207ae83da19ee3748d6d4f567b4d9a7c656e331" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/7a1a90ba1df6e821a6b53c4cabdc32a56cabfb14", - "reference": "7a1a90ba1df6e821a6b53c4cabdc32a56cabfb14", + "url": "https://api.github.com/repos/symfony/yaml/zipball/8207ae83da19ee3748d6d4f567b4d9a7c656e331", + "reference": "8207ae83da19ee3748d6d4f567b4d9a7c656e331", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8" }, "conflict": { - "symfony/console": "<7.4" + "symfony/console": "<5.4" }, "require-dev": { - "symfony/console": "^7.4|^8.0" + "symfony/console": "^5.4|^6.0|^7.0" }, "bin": [ "Resources/bin/yaml-lint" @@ -537,7 +4781,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v8.0.1" + "source": "https://github.com/symfony/yaml/tree/v6.4.30" }, "funding": [ { @@ -557,7 +4801,132 @@ "type": "tidelift" } ], - "time": "2025-12-04T18:17:06+00:00" + "time": "2025-12-02T11:50:18+00:00" + }, + { + "name": "twig/twig", + "version": "v3.23.0", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "a64dc5d2cc7d6cafb9347f6cd802d0d06d0351c9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/a64dc5d2cc7d6cafb9347f6cd802d0d06d0351c9", + "reference": "a64dc5d2cc7d6cafb9347f6cd802d0d06d0351c9", + "shasum": "" + }, + "require": { + "php": ">=8.1.0", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-mbstring": "^1.3" + }, + "require-dev": { + "phpstan/phpstan": "^2.0", + "psr/container": "^1.0|^2.0", + "symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0" + }, + "type": "library", + "autoload": { + "files": [ + "src/Resources/core.php", + "src/Resources/debug.php", + "src/Resources/escaper.php", + "src/Resources/string_loader.php" + ], + "psr-4": { + "Twig\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Twig Team", + "role": "Contributors" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "https://twig.symfony.com", + "keywords": [ + "templating" + ], + "support": { + "issues": "https://github.com/twigphp/Twig/issues", + "source": "https://github.com/twigphp/Twig/tree/v3.23.0" + }, + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/twig/twig", + "type": "tidelift" + } + ], + "time": "2026-01-23T21:00:41+00:00" + }, + { + "name": "webflo/drupal-finder", + "version": "1.3.1", + "source": { + "type": "git", + "url": "https://github.com/webflo/drupal-finder.git", + "reference": "73045060b0894c77962a10cff047f72872d8810c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webflo/drupal-finder/zipball/73045060b0894c77962a10cff047f72872d8810c", + "reference": "73045060b0894c77962a10cff047f72872d8810c", + "shasum": "" + }, + "require": { + "composer-runtime-api": "^2.2", + "php": ">=8.1" + }, + "require-dev": { + "mikey179/vfsstream": "^1.6", + "phpunit/phpunit": "^10.4", + "symfony/process": "^6.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "DrupalFinder\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Florian Weber", + "email": "florian@webflo.org" + } + ], + "description": "Helper class to locate a Drupal installation.", + "support": { + "issues": "https://github.com/webflo/drupal-finder/issues", + "source": "https://github.com/webflo/drupal-finder/tree/1.3.1" + }, + "time": "2024-06-28T13:45:36+00:00" } ], "aliases": [], diff --git a/phpstan.neon b/phpstan.neon new file mode 100644 index 0000000..568c99b --- /dev/null +++ b/phpstan.neon @@ -0,0 +1,9 @@ +includes: + - vendor/mglaman/phpstan-drupal/extension.neon + +parameters: + level: 2 + paths: + - src/ + ignoreErrors: + - '#Unsafe usage of new static\(\)#' diff --git a/src/AliasSubpathsAliasManager.php b/src/AliasSubpathsAliasManager.php index 953c219..57f7a80 100644 --- a/src/AliasSubpathsAliasManager.php +++ b/src/AliasSubpathsAliasManager.php @@ -20,7 +20,7 @@ class AliasSubpathsAliasManager { * * @var \Drupal\path_alias\AliasManagerInterface */ - protected $aliasManager; + protected AliasManagerInterface $aliasManager; /** * The context manager service. diff --git a/src/EventSubscriber/ArgumentProcessorEventSubscriber.php b/src/EventSubscriber/ArgumentProcessorEventSubscriber.php index 81a81b4..4eb8503 100644 --- a/src/EventSubscriber/ArgumentProcessorEventSubscriber.php +++ b/src/EventSubscriber/ArgumentProcessorEventSubscriber.php @@ -65,6 +65,7 @@ class ArgumentProcessorEventSubscriber implements EventSubscriberInterface { * @param \Drupal\Core\Routing\AdminContext $admin_context * The admin context service. * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler + * The Module Handler. */ public function __construct( CurrentRouteMatch $current_route_match, diff --git a/src/PathProcessor/PathProcessorAliasSubpaths.php b/src/PathProcessor/PathProcessorAliasSubpaths.php index 2b76eb3..ad170b1 100644 --- a/src/PathProcessor/PathProcessorAliasSubpaths.php +++ b/src/PathProcessor/PathProcessorAliasSubpaths.php @@ -4,7 +4,9 @@ use Drupal\alias_subpaths\AliasSubpathsAliasManager; use Drupal\alias_subpaths\Exception\NotRouteApplicableException; +use Drupal\Core\Extension\ModuleHandlerInterface; use Drupal\Core\PathProcessor\InboundPathProcessorInterface; +use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\Request; /** @@ -19,14 +21,38 @@ class PathProcessorAliasSubpaths implements InboundPathProcessorInterface { */ private AliasSubpathsAliasManager $aliasSubpathsAliasManager; + /** + * Module handler. + * + * @var \Drupal\Core\Extension\ModuleHandlerInterface + */ + private ModuleHandlerInterface $moduleHandler; + + /** + * Dependency injection. + * + * @var \Symfony\Component\DependencyInjection\ContainerInterface + */ + private ContainerInterface $container; + /** * Constructs a new PathProcessorAliasSubpaths. * * @param \Drupal\alias_subpaths\AliasSubpathsAliasManager $alias_subpaths_url_resolver * The alias subpaths alias manager service. + * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler + * The Module Handler service. + * @param \Symfony\Component\DependencyInjection\ContainerInterface $container + * For dependency injection. */ - public function __construct(AliasSubpathsAliasManager $alias_subpaths_url_resolver) { + public function __construct( + AliasSubpathsAliasManager $alias_subpaths_url_resolver, + ModuleHandlerInterface $module_handler, + ContainerInterface $container, + ) { $this->aliasSubpathsAliasManager = $alias_subpaths_url_resolver; + $this->moduleHandler = $module_handler; + $this->container = $container; } /** @@ -37,14 +63,16 @@ public function processInbound($path, Request $request) { return $path; } - if (\Drupal::moduleHandler()->moduleExists('redirect')) { - $redirectRespository = \Drupal::service('redirect.repository'); - $sourcePath = trim($path, '/'); - $redirects = $redirectRespository->findBySourcePath($sourcePath); + if ($this->moduleHandler->moduleExists('redirect')) { + if ($this->container->has('redirect.repository')) { + $redirectRepository = $this->container->get('redirect.repository'); + $sourcePath = trim($path, '/'); + $redirects = $redirectRepository->findBySourcePath($sourcePath); - $redirect = reset($redirects); - if ($redirect) { - return $path; + $redirect = reset($redirects); + if ($redirect) { + return $path; + } } } try { From ccec39bbdfbdc6014d826b8238396a799f1324ba Mon Sep 17 00:00:00 2001 From: Pedro Palomera Date: Tue, 24 Feb 2026 12:10:34 +0100 Subject: [PATCH 4/4] feat: code complexity --- composer.json | 3 ++- composer.lock | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++- phpstan.neon | 5 +++++ 3 files changed, 60 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index bfe9b5e..17aec0a 100644 --- a/composer.json +++ b/composer.json @@ -6,7 +6,8 @@ "drupal/coder": "^8.3", "squizlabs/php_codesniffer": "^3.13", "mglaman/phpstan-drupal": "^2.0", - "drupal/core": "^10" + "drupal/core": "^10", + "tomasvotruba/cognitive-complexity": "^1.0" }, "config": { "allow-plugins": { diff --git a/composer.lock b/composer.lock index 01d4176..c5307ec 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "5ad64c2dd484e604182cad9aa363ebad", + "content-hash": "9df073c396bbb5c5b19df1ee2a0e0a05", "packages": [], "packages-dev": [ { @@ -4803,6 +4803,58 @@ ], "time": "2025-12-02T11:50:18+00:00" }, + { + "name": "tomasvotruba/cognitive-complexity", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/TomasVotruba/cognitive-complexity.git", + "reference": "974586fbc31b448ec04cf7877767bbb775671c3f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TomasVotruba/cognitive-complexity/zipball/974586fbc31b448ec04cf7877767bbb775671c3f", + "reference": "974586fbc31b448ec04cf7877767bbb775671c3f", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0", + "phpstan/phpstan": "^2" + }, + "type": "phpstan-extension", + "extra": { + "phpstan": { + "includes": [ + "config/extension.neon" + ] + } + }, + "autoload": { + "psr-4": { + "TomasVotruba\\CognitiveComplexity\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan rules to measure cognitive complexity of your classes and methods", + "support": { + "issues": "https://github.com/TomasVotruba/cognitive-complexity/issues", + "source": "https://github.com/TomasVotruba/cognitive-complexity/tree/1.0.0" + }, + "funding": [ + { + "url": "https://www.paypal.me/rectorphp", + "type": "custom" + }, + { + "url": "https://github.com/tomasvotruba", + "type": "github" + } + ], + "time": "2024-12-13T10:28:54+00:00" + }, { "name": "twig/twig", "version": "v3.23.0", diff --git a/phpstan.neon b/phpstan.neon index 568c99b..d91b522 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -1,9 +1,14 @@ includes: - vendor/mglaman/phpstan-drupal/extension.neon + - vendor/tomasvotruba/cognitive-complexity/config/extension.neon parameters: level: 2 paths: - src/ + cognitive_complexity: + class: 50 + function: 12 + dependency_tree: 150 ignoreErrors: - '#Unsafe usage of new static\(\)#'