@luvio/compiler 0.142.4 → 0.143.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 (2) hide show
  1. package/README.md +11 -0
  2. package/package.json +5 -5
package/README.md ADDED
@@ -0,0 +1,11 @@
1
+ # @luvio/compiler
2
+
3
+ ## Purpose
4
+
5
+ The Luvio Compiler package is the main code generator for API clients. It uses a two-phased approach to code generation.
6
+
7
+ 1. Parsing
8
+ - We take a RAML file and [parse it](./src/parser/main.ts) using [AMF](https://a.ml/docs/amf/using-amf/amf_parsing/) and our own custom annotations into an intermediate representation called [ModelInfo](./src/intermediate/model-info.ts);
9
+ 2. Code Generation
10
+ - We take the `ModelInfo` and we use it to inform generation of Typescript Api Clients. The code generator is designed to be somewhat composable, so the caller can decide which pieces of the `ModelInfo` they'd like to have generated by providing different "Source Writers" to the compiler. This is all coordinated by the [LuvioRamlCompiler](./src/compiler/raml-compiler.ts).
11
+ - The main transformation from pieces of `ModelInfo` to the actual Typescript code happens in [codegen](./src/codegen/).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luvio/compiler",
3
- "version": "0.142.4",
3
+ "version": "0.143.0",
4
4
  "description": "Luvio Compiler",
5
5
  "repository": {
6
6
  "type": "git",
@@ -23,13 +23,13 @@
23
23
  "test:debug": "node --inspect-brk ../../../node_modules/jest/bin/jest.js --config ./jest.config.js --runInBand"
24
24
  },
25
25
  "dependencies": {
26
- "@luvio/graphql-parser": "^0.142.4",
26
+ "@luvio/graphql-parser": "^0.143.0",
27
27
  "amf-client-js": "4.2.0"
28
28
  },
29
29
  "devDependencies": {
30
- "@luvio/adapter-test-library": "^0.142.4",
31
- "@luvio/engine": "^0.142.4",
32
- "@luvio/graphql": "^0.142.4"
30
+ "@luvio/adapter-test-library": "^0.143.0",
31
+ "@luvio/engine": "^0.143.0",
32
+ "@luvio/graphql": "^0.143.0"
33
33
  },
34
34
  "volta": {
35
35
  "extends": "../../../package.json"