Adds GNOME Shell 51 to shell-version and moves the build onto the GNOME 51 type packages. - switch to @girs/gjs 5.5.0 and the -51 namespace packages (shell/st/meta/ clutter plus gio/glib/gobject/gtk/adw) - drop the @girs/gnome-shell umbrella: it is still GNOME 50 and pulls St-18 and Meta-18 types that clash with the -51 packages - types/: hand-written declarations for the Shell JS modules imported here (extension.js, prefs.js, main.js, panelMenu.js, popupMenu.js, slider.js), since upstream 51 types (51.0.0-alpha.1) are unpublished. PopupMenu open/close are typed with the 51 parameters object - TypeScript 6.0.3 rather than 7: typescript-eslint requires <6.1.0 and ts-jest requires <7 - eslint 10.12, @eslint/js 10.0.1, eslint-plugin-jsdoc 65.3.4 and typescript-eslint 8.71.2
21 lines
748 B
TypeScript
21 lines
748 B
TypeScript
/**
|
|
* GNOME Shell runtime globals.
|
|
*
|
|
* The `global` object is created by the shell before an extension is loaded and
|
|
* has no `.gir`, so it is not covered by the generated `@girs/*-51` packages.
|
|
* Upstream ships these in `@girs/gnome-shell`, but its GNOME 51 build
|
|
* (51.0.0-alpha.1) is unpublished, and v50 pulls St-18/Meta-18 types that
|
|
* collide with the -51 packages. Declaring the few symbols we use keeps the
|
|
* project on GNOME 51 types and installable from the registry.
|
|
*
|
|
* @see https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/environment.js
|
|
*/
|
|
import type Shell from "@girs/shell-51";
|
|
|
|
declare global {
|
|
/** Global shell object created by GNOME Shell on startup. */
|
|
const global: Shell.Global;
|
|
}
|
|
|
|
export {};
|