Skip to content

QuantumSegfault/pumpkin-api-ts

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pumpkin API for TypeScript

This package provides the TypeScript bindings for building Pumpkin plugins using WebAssembly (Wasm) components.

Features

  • Type-safe API: Full TypeScript definitions for all Pumpkin plugin interfaces.
  • Easy Build Process: Includes a build script to bundle your TypeScript code and componentize it into a .wasm file.
  • Wasm Components: Built on the WebAssembly Component Model for high performance and portability.

Installation

npm install

Creating a Plugin

  1. Create a new TypeScript file (e.g., my-plugin.ts).
  2. Extend the Plugin class and implement the metadata() method.
  3. Register your plugin using registerPlugin().

Example:

import { Plugin, registerPlugin, logging, context, PluginMetadata } from 'pumpkin-api-ts';

class MyPlugin extends Plugin {
    metadata(): PluginMetadata {
        return {
            name: "My Awesome Plugin",
            version: "0.1.0",
            authors: ["Your Name"],
            description: "A cool plugin for Pumpkin",
            dependencies: []
        };
    }

    onLoad(ctx: context.Context): void {
        logging.info("Plugin loaded!");
    }
}

registerPlugin(new MyPlugin());

Building Your Plugin

To build your plugin into a .wasm component, use the provided build script:

npm run build-plugin -- <entry-file.ts> <output-file.wasm>

Example:

npm run build-plugin -- example/my-plugin.ts my-plugin.wasm

About

Pumpkin Plugin API for TypeScript

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 81.1%
  • JavaScript 18.9%