Quantcast
Channel: Issues for Drupal core
Viewing all articles
Browse latest Browse all 294364

[meta] PHP (and JS) dependencies to consider decoupling or removing

$
0
0

Problem/Motivation

We adopted a lot of third-party PHP dependencies during Drupal 8's cycle, some of them are going better than others.

There are some common issues:

1. Support cycles (and PHP version support) out of sync with core's
2. Our use-case requiring subclassing significant percentages of the dependency's code base.
3. Drift between our subclasses and newer versions of libraries
4. New versions of dependencies dropping features we rely on
5.Difficulty adapting to API changes and similar.

Proposed resolution

In some cases we might want to move away from a component, in other cases we might want to see if we still need to subclass things and move closer to it. The main thing is we should try to avoid drift.

Symfony CMF

#2917331: Decouple from Symfony CMF

Symfony Validator

#3054535: Discuss whether to decouple from Symfony Validator

Event dispatcher

#2237831: Allow module services to specify hooks

Doctrine annotations

#2631202: Doctrine no longer supports SimpleAnnotationReader, incorporate a solution into core

Symfony classloader

#3020296: [meta] Replace Symfony's classloader as it does not exist in Symfony 4

Symfony container

Guzzle / Symfony HttpClient

Keeping Guzzle.

Diactoros

We discussed whether to remove Diactoros in favor of Guzzle's PSR-7 implementation; however, Guzzle's implementation remains incomplete for our needs. #2492955-13: [meta] PSR-7 support

#3043471: Replace the DiactorosFactory message factory in symfony/psr-http-message-bridge with a PSR-17 compliant message factory

Retain Diactoros as it has an LTS version with security coverage meeting our needs.

egulias/EmailValidator

#3105181: Remove egulias/EmailValidator

Wikimedia Composer Merge Plugin

#2912387: Stop using wikimedia/composer-merge-plugin

jQuery UI

Move unused components to contrib. Fork components still not deprecated by the 8.8.0 beta deadline. Research possible replacements and target them for either D9 or D10 based on maintainer recommendations.
#3067261: [Plan] Remove jQuery UI components used by Drupal core and replace with a set of supported solutions

JS and CSS polyfills

#3067216: [meta] Deprecate (in 8.8) and remove (in 9.0) polyfills that are no longer needed

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet


Viewing all articles
Browse latest Browse all 294364

Trending Articles