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 install
pnpm run build
: Bundle thesrc
toout/dist
directory.pnpm run pack
: Zipout/dist
usinggnome-extension
toout
directory.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