8a8539ee67
The Config module is shared between the main process, D-Bus services and tests, which previously prevented it from being ported to ESM. The previous commit removed the last outstanding blocker, so we can now port the last remaining module. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2880>
75 lines
2.0 KiB
JavaScript
75 lines
2.0 KiB
JavaScript
import gi from 'gi';
|
|
|
|
/**
|
|
* Required dependencies
|
|
*/
|
|
|
|
import 'gi://AccountsService?version=1.0';
|
|
import 'gi://Atk?version=1.0';
|
|
import 'gi://Atspi?version=2.0';
|
|
import 'gi://Gcr?version=4';
|
|
import 'gi://Gdk?version=4.0';
|
|
import 'gi://Gdm?version=1.0';
|
|
import 'gi://Geoclue?version=2.0';
|
|
import 'gi://Gio?version=2.0';
|
|
import 'gi://GDesktopEnums?version=3.0';
|
|
import 'gi://GdkPixbuf?version=2.0';
|
|
import 'gi://GnomeBG?version=4.0';
|
|
import 'gi://GnomeDesktop?version=4.0';
|
|
import 'gi://Graphene?version=1.0';
|
|
import 'gi://GWeather?version=4.0';
|
|
import 'gi://IBus?version=1.0';
|
|
import 'gi://Pango?version=1.0';
|
|
import 'gi://Polkit?version=1.0';
|
|
import 'gi://PolkitAgent?version=1.0';
|
|
import 'gi://Rsvg?version=2.0';
|
|
import 'gi://Soup?version=3.0';
|
|
import 'gi://UPowerGlib?version=1.0';
|
|
|
|
import * as Config from './config.js';
|
|
|
|
// Meta-related dependencies use a shared version
|
|
// from the compile-time config.
|
|
gi.require('Meta', Config.LIBMUTTER_API_VERSION);
|
|
gi.require('Clutter', Config.LIBMUTTER_API_VERSION);
|
|
gi.require('Cogl', Config.LIBMUTTER_API_VERSION);
|
|
gi.require('Shell', Config.LIBMUTTER_API_VERSION);
|
|
gi.require('St', Config.LIBMUTTER_API_VERSION);
|
|
|
|
/**
|
|
* Compile-time optional dependencies
|
|
*/
|
|
|
|
if (Config.HAVE_BLUETOOTH)
|
|
gi.require('GnomeBluetooth', '3.0');
|
|
else
|
|
console.debug('GNOME Shell was compiled without GNOME Bluetooth support');
|
|
|
|
|
|
if (Config.HAVE_NETWORKMANAGER) {
|
|
gi.require('NM', '1.0');
|
|
gi.require('NMA4', '1.0');
|
|
} else {
|
|
console.debug('GNOME Shell was compiled without Network Manager support');
|
|
}
|
|
|
|
/**
|
|
* Runtime optional dependencies
|
|
*/
|
|
|
|
try {
|
|
// Malcontent is optional, so catch any errors loading it
|
|
gi.require('Malcontent', '0');
|
|
} catch {
|
|
console.debug('Malcontent is not available, parental controls integration will be disabled.');
|
|
}
|
|
|
|
|
|
try {
|
|
// Telepathy is optional, so catch any errors loading it
|
|
gi.require('TelepathyGLib', '0.12');
|
|
gi.require('TelepathyLogger', '0.2');
|
|
} catch {
|
|
console.debug('Telepathy is not available, chat integration will be disabled.');
|
|
}
|