A template for creating GNOME Shell extensions using TypeScript.
This template uses @girs/gnome-shell to provide the types, Rollup to transpile/bundle the extension, and Biomejs for linting and formatting.
All output files are human readable including node modules, no minification is done.
Clone repository and install dependencies:
git clone https://github.com/SamyzKhalil/gnome-shell-extension-ts-template
cd gnome-shell-extension-ts-template
pnpm installpnpm run build: Bundle thesrctoout/distdirectory.pnpm run pack: Zipout/distusinggnome-extensiontooutdirectory.pnpm run deploy: Build and pack the extension, then install it usinggnome-extension.pnpm run format: Format code using Biomejs.pnpm run lint: Lint code using Biomejs.
This template is "inspired" by https://github.com/gTile/gTile