e8ee845e41
Continue the move to ESM by loading modules dynamically with the standard import() expression, rather than by installing a custom (legacy) importer. This is a breaking change that affects all extensions, as they now need to explicitly export the expected symbols. As we are already breaking all extensions, take that opportunity and remove support for the individual entry points: Using a class with enable()/disable() methods has been the recommended pattern for a long time, it is now the only entry point. Instead of instantiating the class from an `init()` function, the class must now be exported as default to be recognized. Additionally, we no longer install an importer on the extension object, so extensions that consist of more than one file MUST import those files as modules now. There will be a second breaking change for extensions when gnome-shell's own code is ported to ESM, so most extension developers will likely want to wait until the port is complete before starting to port their extensions. Based on a commit from Evan Welsh. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2795> |
||
---|---|---|
.. | ||
dbusServices | ||
gdm | ||
misc | ||
perf | ||
portalHelper | ||
ui | ||
js-resources.gresource.xml | ||
meson.build | ||
portal-resources.gresource.xml |