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.
Spin is a prerequisite.
The templates can be installed with the following command:
spin templates install --update --git https://github.com/fermyon/spin-js-sdk
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
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
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:[email protected]
.
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-jsand
redis-ts`.
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
``