Breaking: The editor configuration is an ES module 

Description 

The script configuring the CKEditor instances of the frontend form is now compiled from a TypeScript source and is an ES module:

EXT:academic_persons_edit/Resources/Public/JavaScript/CKEditor.js
->  EXT:academic_persons_edit/Resources/Public/JavaScript/frontend/ckeditor.js
Copied!

It is registered in Configuration/JavaScriptModules.php and addressed by the bare specifier @fgtclb/academic-persons-edit/frontend/ckeditor.js.

CKEditor itself is still loaded from a content delivery network by the same template, unchanged.

Impact 

An installation that uses the shipped template needs to do nothing.

An installation that references the old path loads a file that no longer exists, and the rich text fields fall back to plain textareas.

Affected installations 

Installations that override Templates/Profile/Edit.html or reference CKEditor.js from their own site package.

Migration 

In an overridden template, replace the reference:

<f:asset.module identifier="@fgtclb/academic-persons-edit/frontend/ckeditor.js" />
Copied!

<f:asset.script> cannot be used any more, because a classic script tag does not execute an ES module. The ckeditor-config identifier and the async / defer attributes are gone with it: a module is deferred by definition.