https://github.com/quatico-solutions/magellan
Remote service execution for TypeScript
https://github.com/quatico-solutions/magellan
compiler express-js java microservices middleware remote-execution serialization transport-api typescript
Last synced: 4 months ago
JSON representation
Remote service execution for TypeScript
- Host: GitHub
- URL: https://github.com/quatico-solutions/magellan
- Owner: quatico-solutions
- License: mit
- Created: 2022-07-18T11:43:40.000Z (over 3 years ago)
- Default Branch: develop
- Last Pushed: 2025-04-01T13:03:03.000Z (11 months ago)
- Last Synced: 2025-04-01T14:22:34.108Z (11 months ago)
- Topics: compiler, express-js, java, microservices, middleware, remote-execution, serialization, transport-api, typescript
- Language: TypeScript
- Homepage:
- Size: 1.43 MB
- Stars: 8
- Watchers: 4
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Magellan
[](https://www.npmjs.com/search?q=%40quatico)
The Magellan project provides compiler tooling and a runtime API for remote execution of service functions written in TypeScript.
In many applications, backend developers have to create REST APIs, e.g., using [swagger.io](https://swagger.io/). Frontend developer implement client code in their components to present domain logic and data in the browser. During the development developers infrontend and backend have numerous discussions about this API, followed by changes and extensions on both sides. Magellan simplifies this process by providing a compiler that generates all involved code for both sides.
Magellan is a TypeScript library that provides a compiler and runtime API for service functions with the following features:
- Transparent support to write services that consume node modules in the frontend
- npm package generation of TypeScript server code for remote execution through node
- (Almost) invisible transport layer between browser and node.
- Effortless configuration of service endpoints
- Automatic serialization of input/output values
- Transparent error messages and exception handling
## Documentation
The complete documentation including a **Getting Started** can be found here:
## Development
### Quick Start
```bash
# Set up development environment (includes watchman configuration)
npm run dev:setup
# Run tests (with automatic watchman management)
npm run test
# Start watch mode (with automatic watchman management)
npm run watch
```
### Watchman Management
This project includes automatic watchman management to prevent common file watching issues. See [Watchman Management Guide](../docs/WATCHMAN_MANAGEMENT.md) for details.
**Quick commands:**
- `npm run watchman:status` - Check watchman status
- `npm run watchman:reset` - Reset watchman if experiencing issues