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 -aChange directory into the app:
cd hello-worldInstall the dependencies and build the app:
npm install
spin buildspin upFinally, you can test your app using e.g. curl in another terminal:
curl -i http://127.0.0.1:3000If 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: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`.
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
``