@eventcatalog/language-server 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +71 -0
- package/SPEC.md +1939 -0
- package/dist/ast-utils.d.ts +96 -0
- package/dist/ast-utils.d.ts.map +1 -0
- package/dist/ast-utils.js +241 -0
- package/dist/ast-utils.js.map +1 -0
- package/dist/compiler.d.ts +7 -0
- package/dist/compiler.d.ts.map +1 -0
- package/dist/compiler.js +654 -0
- package/dist/compiler.js.map +1 -0
- package/dist/ec-completion-provider.d.ts +15 -0
- package/dist/ec-completion-provider.d.ts.map +1 -0
- package/dist/ec-completion-provider.js +202 -0
- package/dist/ec-completion-provider.js.map +1 -0
- package/dist/ec-module.d.ts +18 -0
- package/dist/ec-module.d.ts.map +1 -0
- package/dist/ec-module.js +27 -0
- package/dist/ec-module.js.map +1 -0
- package/dist/ec-scope-provider.d.ts +2 -0
- package/dist/ec-scope-provider.d.ts.map +1 -0
- package/dist/ec-scope-provider.js +2 -0
- package/dist/ec-scope-provider.js.map +1 -0
- package/dist/ec-scope.d.ts +10 -0
- package/dist/ec-scope.d.ts.map +1 -0
- package/dist/ec-scope.js +18 -0
- package/dist/ec-scope.js.map +1 -0
- package/dist/ec-validator.d.ts +9 -0
- package/dist/ec-validator.d.ts.map +1 -0
- package/dist/ec-validator.js +238 -0
- package/dist/ec-validator.js.map +1 -0
- package/dist/formatter.d.ts +6 -0
- package/dist/formatter.d.ts.map +1 -0
- package/dist/formatter.js +88 -0
- package/dist/formatter.js.map +1 -0
- package/dist/generated/ast.d.ts +970 -0
- package/dist/generated/ast.d.ts.map +1 -0
- package/dist/generated/ast.js +1537 -0
- package/dist/generated/ast.js.map +1 -0
- package/dist/generated/grammar.d.ts +7 -0
- package/dist/generated/grammar.d.ts.map +1 -0
- package/dist/generated/grammar.js +6062 -0
- package/dist/generated/grammar.js.map +1 -0
- package/dist/generated/module.d.ts +14 -0
- package/dist/generated/module.d.ts.map +1 -0
- package/dist/generated/module.js +21 -0
- package/dist/generated/module.js.map +1 -0
- package/dist/graph-types.d.ts +32 -0
- package/dist/graph-types.d.ts.map +1 -0
- package/dist/graph-types.js +2 -0
- package/dist/graph-types.js.map +1 -0
- package/dist/graph.d.ts +4 -0
- package/dist/graph.d.ts.map +1 -0
- package/dist/graph.js +931 -0
- package/dist/graph.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/main-browser.d.ts +2 -0
- package/dist/main-browser.d.ts.map +1 -0
- package/dist/main-browser.js +16 -0
- package/dist/main-browser.js.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +15 -0
- package/dist/main.js.map +1 -0
- package/package.json +55 -0
- package/specification/00-overview.md +99 -0
- package/specification/01-domain.md +80 -0
- package/specification/02-service.md +50 -0
- package/specification/03-event.md +28 -0
- package/specification/04-command.md +25 -0
- package/specification/05-query.md +25 -0
- package/specification/06-channel.md +131 -0
- package/specification/08-container.md +54 -0
- package/specification/09-data-product.md +39 -0
- package/specification/10-flow.md +163 -0
- package/specification/11-diagram.md +3 -0
- package/specification/12-user.md +54 -0
- package/specification/13-team.md +62 -0
- package/specification/14-relationships.md +89 -0
- package/specification/15-versioning.md +41 -0
- package/specification/16-annotations.md +100 -0
- package/specification/17-examples.md +373 -0
- package/specification/18-grammar.md +242 -0
- package/specification/19-visualizer.md +197 -0
- package/specification/build-spec.sh +49 -0
- package/syntaxes/ec.tmLanguage.json +61 -0
package/README.md
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# @eventcatalog/language-server
|
|
2
|
+
|
|
3
|
+
> **Beta** - This package is in active development and the DSL syntax may change between releases.
|
|
4
|
+
|
|
5
|
+
A language server and parser for the EventCatalog DSL (`.ec` files) - a human-readable, declarative language for defining event-driven architectures.
|
|
6
|
+
|
|
7
|
+
## What is the EventCatalog DSL?
|
|
8
|
+
|
|
9
|
+
The EventCatalog DSL is a complementary language for [EventCatalog](https://eventcatalog.dev) that brings architecture-as-code to your event-driven systems. Write your domains, services, events, commands, channels, and their relationships in a concise, human-readable format.
|
|
10
|
+
|
|
11
|
+
The DSL is designed to work hand-in-hand with EventCatalog — import existing resources from your catalog into `.ec` files, design and iterate on your architecture as code, and push changes back into EventCatalog. It's a two-way workflow: catalog to code, code to catalog.
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
domain Payment {
|
|
15
|
+
version 1.0.0
|
|
16
|
+
owner payment-team
|
|
17
|
+
|
|
18
|
+
service PaymentService {
|
|
19
|
+
version 1.0.0
|
|
20
|
+
|
|
21
|
+
sends event PaymentProcessed {
|
|
22
|
+
version 1.0.0
|
|
23
|
+
summary "Emitted when a payment completes successfully"
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
receives command ProcessPayment
|
|
27
|
+
receives event OrderCreated
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Features
|
|
33
|
+
|
|
34
|
+
- Full language server with diagnostics, completions, and hover information
|
|
35
|
+
- Parses `.ec` files into a structured graph representation
|
|
36
|
+
- Supports all EventCatalog resource types: domains, services, events, commands, queries, channels, containers, data products, flows, users, and teams
|
|
37
|
+
- Inline and referenced resource definitions
|
|
38
|
+
- Formatter for consistent code style
|
|
39
|
+
|
|
40
|
+
## Supported Resource Types
|
|
41
|
+
|
|
42
|
+
| Resource | Keyword |
|
|
43
|
+
| --------------- | ----------------- |
|
|
44
|
+
| Domain | `domain` |
|
|
45
|
+
| Service | `service` |
|
|
46
|
+
| Event | `event` |
|
|
47
|
+
| Command | `command` |
|
|
48
|
+
| Query | `query` |
|
|
49
|
+
| Channel | `channel` |
|
|
50
|
+
| Container | `container` |
|
|
51
|
+
| Data Product | `data-product` |
|
|
52
|
+
| Flow | `flow` |
|
|
53
|
+
| User | `user` |
|
|
54
|
+
| Team | `team` |
|
|
55
|
+
| Actor | `actor` |
|
|
56
|
+
| External System | `external-system` |
|
|
57
|
+
| Visualizer | `visualizer` |
|
|
58
|
+
|
|
59
|
+
## Roadmap
|
|
60
|
+
|
|
61
|
+
- Schema support (inline and referenced schemas for messages)
|
|
62
|
+
- Entities
|
|
63
|
+
- Schemas as first-class resources
|
|
64
|
+
|
|
65
|
+
## Specification
|
|
66
|
+
|
|
67
|
+
See [SPEC.md](./SPEC.md) for the full language specification including grammar, syntax details, and examples.
|
|
68
|
+
|
|
69
|
+
## License
|
|
70
|
+
|
|
71
|
+
See the root [LICENSE](../../LICENSE) file.
|