{"repo":"gjsify/gnome-shell","free":true,"listed":false,"github":"https://github.com/gjsify/gnome-shell","clone":"git clone https://github.com/gjsify/gnome-shell.git","description":"GJS TypeScript type definitions for GNOME Shell Extensions","language":"JavaScript","stars":79,"topics":["gir","gjs","gnome","gobject-introspection","shell","types","typescript","gnomeshell","extension"],"license":"MIT","category":"cli-tools","readme_excerpt":"TypeScript for GNOME Shell Write GNOME Shell Extensions in TypeScript Overview This project provides TypeScript type definitions for GNOME Shell Extensions. It aims to make the development of GNOME Shell Extensions in TypeScript more intuitive and efficient. The project is currently in an experimental phase and greatly benefits from community contributions. How It Works The TypeScript types for the used libraries are generated from the .gir files using ts-for-gir and are available as NPM packages. A significant portion of GNOME Shell is written in JavaScript, lacking .gir files. Therefore, these type definitions need to be manually created, which is the primary focus of this project. These additional definitions are manually written and included in this repository. Our build scripts automatically generate .js (for ESM) and .cjs files, Ambient Module Definitions, and index files. The structure for these files can be found on ./packages/gnome-shell/src and should align with the structure of GNOME Shell's JavaScript source code, available here. This setup allows contributors to primarily focus on the TypeScript type definitions, with the rest being automatically generated, including the exports in the package.json. Showcase gTile is a fully typed Gnome extension for tiling and resizing windows Hanabi is a fully typed Gnome extension that brings live wallpapers to your desktop Notification Badge is a fully typed Gnome extension that shows the notification count of apps on their i","default_branch":null,"files":null,"tree":[],"storefront":"/r/gjsify","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/gjsify/gnome-shell/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}