Remove ckeditor5_premium_features dependency

Created on 29 January 2025, about 1 month ago

Problem/Motivation

Modules like https://www.drupal.org/project/ckeditor_font are deprecated and advice people to switch to ckeditor5_plugin_pack.

But due to the dependency to ckeditor5_premium_features, a lot of not required libraries get installed.
It isn't a good practice to install tons of code in system if it is not used at all.

That stuff should be optional!

Why do we need to install the openai php client if we just want to select fonts?

📌 Task
Status

Active

Version

1.2

Component

Code

Created by

🇩🇪Germany mkalkbrenner 🇩🇪

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @mkalkbrenner
  • 🇩🇪Germany mkalkbrenner 🇩🇪

    Could it be an issue with your composer.json?

     ± composer require 'drupal/ckeditor5_plugin_pack:^1.2'
    
    ./composer.json has been updated
    Running composer update drupal/ckeditor5_plugin_pack
    Gathering patches from patch file.
    Loading composer repositories with package information
    Updating dependencies                                 
    Lock file operations: 11 installs, 0 updates, 0 removals
      - Locking aws/aws-crt-php (v1.2.7)
      - Locking aws/aws-sdk-php (3.339.1)
      - Locking caxy/php-htmldiff (v0.1.16)
      - Locking drupal/ckeditor5_plugin_pack (1.2.4)
      - Locking drupal/ckeditor5_premium_features (1.3.5)
      - Locking ezyang/htmlpurifier (v4.18.0)
      - Locking firebase/php-jwt (v6.11.0)
      - Locking mtdowling/jmespath.php (2.8.0)
      - Locking openai-php/client (v0.10.3)
      - Locking php-http/discovery (1.20.0)
      - Locking php-http/multipart-stream-builder (1.4.2)
    Writing lock file
    Installing dependencies from lock file (including require-dev)
    Package operations: 11 installs, 0 updates, 0 removals
      - Downloading php-http/discovery (1.20.0)
      - Downloading aws/aws-crt-php (v1.2.7)
      - Downloading php-http/multipart-stream-builder (1.4.2)
      - Downloading openai-php/client (v0.10.3)
      - Downloading firebase/php-jwt (v6.11.0)
      - Downloading ezyang/htmlpurifier (v4.18.0)
      - Downloading caxy/php-htmldiff (v0.1.16)
      - Downloading mtdowling/jmespath.php (2.8.0)
      - Downloading aws/aws-sdk-php (3.339.1)
      - Downloading drupal/ckeditor5_premium_features (1.3.5)
      - Downloading drupal/ckeditor5_plugin_pack (1.2.4)
    Gathering patches from patch file.
    Gathering patches for dependencies. This might take a minute.
    php-http/discovery contains a Composer plugin which is currently not in your allow-plugins config. See https://getcomposer.org/allow-plugins
    Do you trust "php-http/discovery" to execute code and wish to enable it now? (writes "allow-plugins" to composer.json) [y,n,d,?] 
  • @mkalkbrenner, I have hereby attached the patch to remove dependency on ckeditor5_premium_features.

  • 🇩🇪Germany mkalkbrenner 🇩🇪

    For composer.json the correct patch would be to turn the dependency into a suggestion.

    But I don't know hoe the module behaves internally if the dependency us not fulfilled.
    If it works as expected, then the dependency is not needed at all and really a bug.

  • Hi mkalkbrenner,

    Including the Premium Features module as a dependency is a design decision we've made because we want to be able to enable some of the premium functionalities for free in Plugin Pack exclusively for Drupal users. Currently, removing Premium Features from dependencies would break features like WProofreader or Fullscreen mode.

    As a workaround, you might choose to clone the module's repository using Git instead of installing it with Composer if you really want to avoid certain dependencies. This will likely break some functionalities of the module, although that might not be a problem if you just want to use fonts, as you mentioned in your example.

Production build 0.71.5 2024