{"id":27259719,"url":"https://github.com/floherent/wasm-service","last_synced_at":"2026-04-16T23:31:54.347Z","repository":{"id":233331840,"uuid":"761861596","full_name":"floherent/wasm-service","owner":"floherent","description":"Sample API service for running WASM files","archived":false,"fork":false,"pushed_at":"2024-04-25T15:55:29.000Z","size":1353,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-25T17:01:05.690Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/floherent.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2024-02-22T16:18:02.000Z","updated_at":"2024-04-25T15:54:56.000Z","dependencies_parsed_at":"2024-04-22T14:26:55.075Z","dependency_job_id":null,"html_url":"https://github.com/floherent/wasm-service","commit_stats":null,"previous_names":["floherent/wasm-service"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/floherent%2Fwasm-service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/floherent%2Fwasm-service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/floherent%2Fwasm-service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/floherent%2Fwasm-service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/floherent","download_url":"https://codeload.github.com/floherent/wasm-service/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248339269,"owners_count":21087215,"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-04-11T04:06:45.844Z","updated_at":"2026-04-16T23:31:54.311Z","avatar_url":"https://github.com/floherent.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WASM Service\n\nStandalone API service for running WebAssembly (or WASM) modules generated by\n[Coherent Spark][coherent-site].\n\n## Disclaimer\n\nThe underlying content of this project comprises a sample service (**not** a\nproduct) that demonstrates how to run WASM modules once _sparkified_. The codebase\nshould serve as a reference for developers who wish to integrate WASM modules into\ntheir own Node applications.\n\n## Getting started\n\nThis documentation assumes that you are a developer and familiar with Coherent\nSpark. Otherwise, visit the [User Guide][user-guide] site to learn more about it.\n\nSpark enables some powerful features for your Excel models. Among them is the\nability to convert them to web assembly modules. That is, once an Excel model\nis _sparkified_, Spark generates a WASM representation of that model that you can\nlater download and use in your own application independently.\n\nYes, that's right... the sky is the limit!\n\nThe following steps will guide you through the process of running the `wasm-service`\nand executing that WASM module within your own application.\n\n## Running the service\n\nThere are two ways to run this service:\n\n- via Docker\n- or using Node on your local machine (or on [remote server](docs/DEPLOYMENT.md))\n\nChoose the one that best suits your needs. Refer to the [Developer Guide](docs/DEVELOPER.md)\nfor more technical details.\n\n### Running the service locally\n\nThis API service is built with [Node](https://nodejs.org) and [Express][expressjs].\nInstructions on how to install Node can be found on its official website.\n\nOnce Node is installed, use a copy of this repository to install the dependencies\nand start the service.\n\n```bash\n# install dependencies\n$ npm install # or yarn\n\n# start the development server\n$ npm run start # or yarn start\n```\n\n### Launching the service via Docker\n\nYou can either build a docker image from the codebase (see [Dockerfile](Dockerfile))\nor pull the docker image for this service directly from [Docker Hub][docker-hub].\nTo run it, you will need to have [Docker](https://www.docker.com/) installed on\nyour machine.\n\n```bash\n# build docker image\n$ docker image build -t wasm-service .\n\n# run the service via docker\n$ docker container run --name wasm-service -p 8080:8080 -d wasm-service\n```\n\nBy default, the service will be available on port `8080`. You can change that\nby modifying the [configuration](.config/default.yml) file.\n\n## API reference\n\nThe `wasm-service` API includes five basic use cases to help you get started:\n\n| Use Cases                      | Resources                                |\n| ------------------------------ | ---------------------------------------- |\n| API Documentation              | `GET /docs` or `GET /docs-json`          |\n| Upload a WASM module           | `PUT /v1/services[/{version_id}]`        |\n| Execute a WASM module          | `POST /v1/services/{version_id}/execute` |\n| Get the WASM execution history | `GET /v1/services/{version_id}/history`  |\n| Download a WASM module         | `GET /v1/services/{version_id}`          |\n| Delete a WASM module           | `DELETE /v1/services/{version_id}`       |\n\nAdditionally, the service contains a health check endpoint to verify that the\nservice is up and running: `GET /health`.\n\nFind more details about the API endpoints in the [API reference](docs/DEVELOPER.md#api-reference)\nsection of the [Developer Guide](docs/DEVELOPER.md) and the\n[Postman collection](docs/postman-collection.json).\n\n## Change log\n\nSee the [CHANGELOG](CHANGELOG.md) for all notable changes and release notes about\nthis project.\n\n## Support\n\nPlease contact \u003cfieldengineering@coherent.global\u003e with any questions or feedback.\n\n## Copyright and licensing\n\n[MIT-licensed](LICENSE).\n\n\u003c!-- References --\u003e\n\n[coherent-site]: https://www.coherent.global\n[user-guide]: https://docs.coherent.global/\n[expressjs]: https://expressjs.com/en/starter/hello-world.html\n[docker-hub]: https://hub.docker.com/r/ralflorent/wasm-service\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffloherent%2Fwasm-service","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffloherent%2Fwasm-service","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffloherent%2Fwasm-service/lists"}