Skip to content

gjsify/vite

Repository files navigation

gjsify/vite

Collection of Vite plugins and utilities for GJS (GNOME JavaScript) development. Build native GNOME applications using TypeScript/JavaScript with our specialized plugins for translation management, UI compilation, and more.

Plugins

vite-plugin-gettext

Comprehensive gettext translation management for GJS applications:

  • Extract translatable strings from TypeScript/JavaScript source files
  • Compile PO files to binary MO format for GNOME's translation system
  • Support for metainfo XML with ITS rules
  • Multiple output formats (MO, XML, JSON, desktop entries)
  • Automatic file watching and recompilation

vite-plugin-blueprint

Compile GNOME Blueprint UI files (.blp) to XML for GJS applications:

  • Seamless .blp file imports in your TypeScript/JavaScript code
  • Optional XML minification
  • Direct integration with Vite build process
  • TypeScript support included

Installation

# Install individual plugins
npm install @gjsify/vite-plugin-gettext --save-dev
npm install @gjsify/vite-plugin-blueprint --save-dev

Quick Start

// vite.config.js
import { defineConfig } from "vite";
import { gettextPlugin, msgfmtPlugin } from "@gjsify/vite-plugin-gettext";
import blueprintPlugin from "@gjsify/vite-plugin-blueprint";

export default defineConfig({
  plugins: [
    // Extract and compile translations
    gettextPlugin({
      poDirectory: "po",
      moDirectory: "public",
    }),
    
    // Compile Blueprint UI files
    blueprintPlugin({
      minify: true,
    }),
  ],
});

Requirements

  • Vite 2.x or higher
  • Node.js 12.x or higher
  • GNU Gettext tools (for gettext plugin)
  • Blueprint compiler (for blueprint plugin)

Documentation

Contributing

We welcome contributions! Please feel free to submit issues and pull requests.

License

MIT License - see LICENSE file for details.

About

Collection of Vite plugins and utilities for GJS development

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published