Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/travetto/travetto
The Travetto Framework repository
https://github.com/travetto/travetto
ast-transformations declarative decorators real-time testing typescript typescript-framework
Last synced: 8 days ago
JSON representation
The Travetto Framework repository
- Host: GitHub
- URL: https://github.com/travetto/travetto
- Owner: travetto
- License: mit
- Created: 2018-07-08T16:16:31.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-10-26T16:51:31.000Z (13 days ago)
- Last Synced: 2024-10-27T15:10:05.435Z (12 days ago)
- Topics: ast-transformations, declarative, decorators, real-time, testing, typescript, typescript-framework
- Language: TypeScript
- Homepage: https://travetto.dev
- Size: 40.9 MB
- Stars: 21
- Watchers: 3
- Forks: 3
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Support: support/cli.doc_angular.ts
Awesome Lists containing this project
README
The Travetto FrameworkThe goal of the framework is to provide a holistic application platform with the a focus on interactive development.
## Philosophy
The framework relies up five key principles:
* **Typescript as a development platform.** This means the framework is intimately tied to [Typescript](https://typescriptlang.org) and it's compiler.
* **Code over configuration.** This means that the framework prefers meta-programming via decorators over configuration. Code is always the best place to define configuration.
* **Do not ask the developer to repeat information.** Specifically, source code transformation (and analysis) is a key element of providing seamless functionality while requiring as little as possible from the person using the framework.
* **Strive for a minimal footprint.** When libraries are considered, an overarching goal is to keep the size and quantity of dependencies and functionality to a minimum. The net result should be as little code as possible, and as few dependencies as possible.
* **Development responsiveness is paramount.** The framework should aim for instant feedback when possible to minimize the time between making a change and seeing it.## Modules
Every module within the framework follows the overarching philosophy. For the most part each module is as isolated as possible. The modules are stacked vertically to generally indicate dependencies. The only exception is for common libraries, which are unrelated.![Module Layout](./doc/images/modules.png)