2
ModuleDevelopmentIntroduction
Mees van der Wijk edited this page 2025-08-28 00:42:35 +02:00

Module Development - Introduction

Modules are the building blocks of the Getiyo platform, enabling developers to create interactive experiences. Each module can be customized to provide unique functionality, from interactive games and polls to complex visualizations and custom integrations. This documentation will guide you through the process of creating, testing, and deploying your own Getiyo modules.

V2 modules represent the modern approach to Getiyo development, offering significant improvements for developers. Identified by a module.ts file, V2 modules support modern JavaScript features including import/export statements and the ability to use external npm packages. Each module operates in an isolated environment with its own dependency management, making development more maintainable and efficient. For new module development, we strongly recommend using the V2 architecture to leverage its enhanced capabilities, improved debugging experience, and better maintainability. Read more

V1 Modules - Legacy Support

V1 modules, identified by a module.json file, represent the legacy approach to building Getiyo modules. While still supported, they have several limitations: all TypeScript files are combined into a single global scope, modern JavaScript features like import/export statements aren't supported, and there's no simple method to use external Node packages. Additionally, they don't support the gmt watch feature for live reloading during development. These constraints make V1 modules less suitable for new development projects. Read more

Getiyo Module Tool

The Getiyo Module Tool (GMT) streamlines the module development process, offering commands to create, build, and test your modules. The gmt create command scaffolds a new module with the proper file structure, while gmt build compiles your code for testing or deployment. For V2 modules, the gmt watch command enables live reloading during development, significantly improving debugging efficiency.