@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.
Files changed (88) hide show
  1. package/README.md +71 -0
  2. package/SPEC.md +1939 -0
  3. package/dist/ast-utils.d.ts +96 -0
  4. package/dist/ast-utils.d.ts.map +1 -0
  5. package/dist/ast-utils.js +241 -0
  6. package/dist/ast-utils.js.map +1 -0
  7. package/dist/compiler.d.ts +7 -0
  8. package/dist/compiler.d.ts.map +1 -0
  9. package/dist/compiler.js +654 -0
  10. package/dist/compiler.js.map +1 -0
  11. package/dist/ec-completion-provider.d.ts +15 -0
  12. package/dist/ec-completion-provider.d.ts.map +1 -0
  13. package/dist/ec-completion-provider.js +202 -0
  14. package/dist/ec-completion-provider.js.map +1 -0
  15. package/dist/ec-module.d.ts +18 -0
  16. package/dist/ec-module.d.ts.map +1 -0
  17. package/dist/ec-module.js +27 -0
  18. package/dist/ec-module.js.map +1 -0
  19. package/dist/ec-scope-provider.d.ts +2 -0
  20. package/dist/ec-scope-provider.d.ts.map +1 -0
  21. package/dist/ec-scope-provider.js +2 -0
  22. package/dist/ec-scope-provider.js.map +1 -0
  23. package/dist/ec-scope.d.ts +10 -0
  24. package/dist/ec-scope.d.ts.map +1 -0
  25. package/dist/ec-scope.js +18 -0
  26. package/dist/ec-scope.js.map +1 -0
  27. package/dist/ec-validator.d.ts +9 -0
  28. package/dist/ec-validator.d.ts.map +1 -0
  29. package/dist/ec-validator.js +238 -0
  30. package/dist/ec-validator.js.map +1 -0
  31. package/dist/formatter.d.ts +6 -0
  32. package/dist/formatter.d.ts.map +1 -0
  33. package/dist/formatter.js +88 -0
  34. package/dist/formatter.js.map +1 -0
  35. package/dist/generated/ast.d.ts +970 -0
  36. package/dist/generated/ast.d.ts.map +1 -0
  37. package/dist/generated/ast.js +1537 -0
  38. package/dist/generated/ast.js.map +1 -0
  39. package/dist/generated/grammar.d.ts +7 -0
  40. package/dist/generated/grammar.d.ts.map +1 -0
  41. package/dist/generated/grammar.js +6062 -0
  42. package/dist/generated/grammar.js.map +1 -0
  43. package/dist/generated/module.d.ts +14 -0
  44. package/dist/generated/module.d.ts.map +1 -0
  45. package/dist/generated/module.js +21 -0
  46. package/dist/generated/module.js.map +1 -0
  47. package/dist/graph-types.d.ts +32 -0
  48. package/dist/graph-types.d.ts.map +1 -0
  49. package/dist/graph-types.js +2 -0
  50. package/dist/graph-types.js.map +1 -0
  51. package/dist/graph.d.ts +4 -0
  52. package/dist/graph.d.ts.map +1 -0
  53. package/dist/graph.js +931 -0
  54. package/dist/graph.js.map +1 -0
  55. package/dist/index.d.ts +12 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +10 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/main-browser.d.ts +2 -0
  60. package/dist/main-browser.d.ts.map +1 -0
  61. package/dist/main-browser.js +16 -0
  62. package/dist/main-browser.js.map +1 -0
  63. package/dist/main.d.ts +2 -0
  64. package/dist/main.d.ts.map +1 -0
  65. package/dist/main.js +15 -0
  66. package/dist/main.js.map +1 -0
  67. package/package.json +55 -0
  68. package/specification/00-overview.md +99 -0
  69. package/specification/01-domain.md +80 -0
  70. package/specification/02-service.md +50 -0
  71. package/specification/03-event.md +28 -0
  72. package/specification/04-command.md +25 -0
  73. package/specification/05-query.md +25 -0
  74. package/specification/06-channel.md +131 -0
  75. package/specification/08-container.md +54 -0
  76. package/specification/09-data-product.md +39 -0
  77. package/specification/10-flow.md +163 -0
  78. package/specification/11-diagram.md +3 -0
  79. package/specification/12-user.md +54 -0
  80. package/specification/13-team.md +62 -0
  81. package/specification/14-relationships.md +89 -0
  82. package/specification/15-versioning.md +41 -0
  83. package/specification/16-annotations.md +100 -0
  84. package/specification/17-examples.md +373 -0
  85. package/specification/18-grammar.md +242 -0
  86. package/specification/19-visualizer.md +197 -0
  87. package/specification/build-spec.sh +49 -0
  88. 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.