Spin JS SDK
February 13, 2026 ยท View on GitHub
This is an SDK for Javascript and Typescript based on ComponentizeJS.
Note that this SDK supersedes an earlier, experimental version, which may be found in the sdk-v1 branch.
API Documentation
Installing the templates
Spin is a prerequisite.
The templates can be installed with the following command:
spin templates install --update --git https://github.com/spinframework/spin-js-sdk
Creating and building a new app
Create a new app from the template installed in the previous step:
spin new -t http-ts hello-world -a
Change directory into the app:
cd hello-world
Install the dependencies and build the app:
npm install
spin build
Running the app
spin up
Finally, you can test your app using e.g. curl in another terminal:
curl -i http://127.0.0.1:3000
If all goes well, you should see something like:
HTTP/1.1 200 OK
content-type: text/plain
content-length: 14
date: Thu, 11 Apr 2024 17:42:31 GMT
hello universe
Please file an issue if you have any trouble.
See the examples directory in the repository for more examples.
To learn more about the JS SDK checkout the documentation
Structure of this repository
This repository contains multiple packages under the packages/ directory. Packages whose names start with spin- host provide access to Spin-specific interfaces, whereas the http-trigger package can be used for creating runtime-agnostic components that just rely on wasi:http@0.2.3.
The build-tools package provides the tools for componentizing JavaScript/TypeScript source code, regardless of the interfaces used.
The examples directory contains various examples of common patterns and using popular SDKs.
The templates directory contains all the Spin templates. It currently has four templates - http-js, http-rs, redis-jsandredis-ts`.
Testing the packages together (integration testing)
There is a test script (test.sh) that builds and runs a Spin app which tests itself for various functionalities by making fetch requests to various endpoints. To run:
cd test
./test.sh
``