{"id":25528781,"url":"https://github.com/spinframework/spin-js-sdk","last_synced_at":"2026-04-29T13:01:38.408Z","repository":{"id":63315329,"uuid":"524252852","full_name":"spinframework/spin-js-sdk","owner":"spinframework","description":"https://developer.fermyon.com/spin/javascript-components","archived":false,"fork":false,"pushed_at":"2025-03-27T14:35:33.000Z","size":13397,"stargazers_count":61,"open_issues_count":21,"forks_count":19,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-04-01T12:37:27.056Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spinframework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-12T23:52:26.000Z","updated_at":"2025-03-28T14:35:18.000Z","dependencies_parsed_at":"2023-10-20T16:41:01.464Z","dependency_job_id":"2449f579-503a-4e18-809d-51b68faa28d3","html_url":"https://github.com/spinframework/spin-js-sdk","commit_stats":{"total_commits":134,"total_committers":9,"mean_commits":14.88888888888889,"dds":"0.27611940298507465","last_synced_commit":"7398e54aad6de687d089e7a1ada28620dea24e66"},"previous_names":["spinframework/spin-js-sdk","fermyon/spin-js-sdk"],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spinframework%2Fspin-js-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spinframework%2Fspin-js-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spinframework%2Fspin-js-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spinframework%2Fspin-js-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spinframework","download_url":"https://codeload.github.com/spinframework/spin-js-sdk/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247666014,"owners_count":20975788,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-19T23:12:05.084Z","updated_at":"2026-04-29T13:01:38.383Z","avatar_url":"https://github.com/spinframework.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Spin JS SDK\n\nThis is an SDK for Javascript and Typescript based on [ComponentizeJS](https://github.com/bytecodealliance/ComponentizeJS).\n\nNote that this SDK supersedes an earlier, experimental version, which may be found in the [sdk-v1](https://github.com/spinframework/spin-js-sdk/tree/old-sdk) branch.\n\n## [API Documentation](https://spinframework.github.io/spin-js-sdk/)\n\n## Installing the templates\n\n[Spin](https://github.com/spinframework/spin) is a prerequisite. \n\nThe templates can be installed with the following command:\n\n```bash\nspin templates install --update --git https://github.com/spinframework/spin-js-sdk \n```\n\n## Creating and building a new app\n\nCreate a new app from the template installed in the previous step:\n\n```bash\nspin new -t http-ts hello-world -a\n```\nChange directory into the app:\n```bash\ncd hello-world\n```\n\nInstall the dependencies and build the app:\n```bash\nnpm install\nspin build\n```\n\n## Running the app\n\n```bash\nspin up\n```\n\nFinally, you can test your app using e.g. `curl` in another terminal:\n\n```shell\ncurl -i http://127.0.0.1:3000\n```\n\nIf all goes well, you should see something like:\n\n```\nHTTP/1.1 200 OK\ncontent-type: text/plain\ncontent-length: 14\ndate: Thu, 11 Apr 2024 17:42:31 GMT\n\nhello universe\n```\n\nPlease file an issue if you have any trouble.\n\nSee the [examples directory](https://github.com/spinframework/spin-js-sdk/tree/main/examples) in the repository for more examples.\n\nTo learn more about the JS SDK checkout the [documentation](https://spinframework.dev/v3/javascript-components)\n\n## Structure of this repository\n\nThis repository contains multiple packages under the [`packages/`](./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`.\n\nThe `build-tools` package provides the tools for componentizing JavaScript/TypeScript source code, regardless of the interfaces used.\n\nThe `examples` directory contains various examples of common patterns and using popular SDKs.\n\nThe `templates` directory contains all the Spin templates. It currently has four templates - `http-js`, `http-rs`, redis-js` and `redis-ts`.\n\n## Testing the packages together (integration testing)\n\nThere is a test script [(`test.sh`)](./test/test.sh) that builds and runs a Spin app which tests itself for various functionalities by making fetch requests to various endpoints. To run:\n\n```bash\ncd test\n./test.sh\n``","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspinframework%2Fspin-js-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspinframework%2Fspin-js-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspinframework%2Fspin-js-sdk/lists"}