skir 1.0.22 → 1.0.23
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
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
<h1>Skir</h1>
|
|
3
3
|
<p><strong>Like Protocol Buffer, but better.</strong></p>
|
|
4
4
|
|
|
5
|
+
<p>
|
|
6
|
+
<a href="https://skir.build"><b>skir.build</b></a>
|
|
7
|
+
</p>
|
|
8
|
+
|
|
5
9
|
[](https://www.npmjs.com/package/skir)
|
|
6
10
|
[](https://github.com/gepheum/skir/actions)
|
|
7
11
|
|
|
@@ -14,13 +18,13 @@
|
|
|
14
18
|
|
|
15
19
|
## ✨ Features
|
|
16
20
|
|
|
17
|
-
- 💎 **Single source of truth** - Define your data types once and share them between your backend, frontend, and microservices.
|
|
21
|
+
- 💎 **Single source of truth** - Define your data types and APIs once and share them between your backend, frontend, and microservices.
|
|
18
22
|
- 🌍 **Multi-language** - First-class support for TypeScript, Python, C++, Java, Kotlin, and Dart.
|
|
19
23
|
- ✍️ **Idiomatic code gen** - Generates code that feels native to each language.
|
|
20
24
|
- 🍃 **Effortless serialization** - Skir generates functions to serialize your data to JSON or binary, so you never have to write parsing code manually.
|
|
21
25
|
- 🦋 **Schema evolution** - Simple guidelines and built-in checks to evolve your schema without breaking backward compatibility.
|
|
22
|
-
- 🤝 **
|
|
23
|
-
- 🛠️ **
|
|
26
|
+
- 🤝 **RPCs with end-to-end type safety** - Like tRPC, but for every language. Call your backend functions directly from your frontend or microservices with full compile-time safety.
|
|
27
|
+
- 🛠️ **Delightful developer experience** - Automatic recompilation in watch mode, built-in code formatter, official VSCode extension.
|
|
24
28
|
- 📦 **Built-in package manager** - Import types from other GitHub repositories to easily share common data structures across projects.
|
|
25
29
|
- 🍃 **Easy setup** - Get started with `npx skir init`, manage your entire project configuration from a single YAML file.
|
|
26
30
|
|
|
@@ -69,13 +73,13 @@ assert(restored == point)
|
|
|
69
73
|
|
|
70
74
|
## 📚 Documentation
|
|
71
75
|
|
|
72
|
-
- [Getting started: setup & workflow](docs/setup
|
|
73
|
-
- [Language reference](docs/language-reference
|
|
74
|
-
- [Serialization
|
|
75
|
-
- [Schema evolution
|
|
76
|
-
- [
|
|
77
|
-
- [External dependencies](docs/dependencies
|
|
78
|
-
- [Coming from Protocol Buffer](docs/
|
|
76
|
+
- [Getting started: setup & workflow](https://skir.build/docs/setup)
|
|
77
|
+
- [Language reference](https://skir.build/docs/language-reference)
|
|
78
|
+
- [Serialization](https://skir.build/docs/serialization)
|
|
79
|
+
- [Schema evolution](https://skir.build/docs/schema-evolution)
|
|
80
|
+
- [RPC services](https://skir.build/docs/services)
|
|
81
|
+
- [External dependencies](https://skir.build/docs/dependencies)
|
|
82
|
+
- [Coming from Protocol Buffer](https://skir.build/docs/protobuf)
|
|
79
83
|
|
|
80
84
|
## 🌍 Supported languages
|
|
81
85
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project_initializer.d.ts","sourceRoot":"","sources":["../src/project_initializer.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"project_initializer.d.ts","sourceRoot":"","sources":["../src/project_initializer.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAiDvD"}
|
|
@@ -37,6 +37,7 @@ export function initializeProject(rootDir) {
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
console.log(`Done. Please edit: ${rewritePathForRendering(skirYmlPath)}`);
|
|
40
|
+
console.log("To generate code, run: npx skir gen [--watch]");
|
|
40
41
|
}
|
|
41
42
|
const SKIR_YML_CONTENT = `# Configuration file for Skir code generator
|
|
42
43
|
#
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project_initializer.js","sourceRoot":"","sources":["../src/project_initializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,IAAI,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAEpD,mCAAmC;IACnC,IAAI,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CACT,oFAAoF,CACrF,CAAC;QACF,OAAO;IACT,CAAC;IAED,uBAAuB;IACvB,UAAU,CAAC,aAAa,CAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAEjE,qCAAqC;IACrC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,4BAA4B;QAC5B,UAAU,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEtD,+BAA+B;QAC/B,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAClE,UAAU,CAAC,aAAa,CAAC,cAAc,EAAE,wBAAwB,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED,iCAAiC;IACjC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACxD,IAAI,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,MAAM,OAAO,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,OAAO,CACrD,CAAC;YACF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACzC,UAAU,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,uBAAuB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"project_initializer.js","sourceRoot":"","sources":["../src/project_initializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,IAAI,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAEpD,mCAAmC;IACnC,IAAI,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CACT,oFAAoF,CACrF,CAAC;QACF,OAAO;IACT,CAAC;IAED,uBAAuB;IACvB,UAAU,CAAC,aAAa,CAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAEjE,qCAAqC;IACrC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,4BAA4B;QAC5B,UAAU,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEtD,+BAA+B;QAC/B,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAClE,UAAU,CAAC,aAAa,CAAC,cAAc,EAAE,wBAAwB,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED,iCAAiC;IACjC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACxD,IAAI,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,MAAM,OAAO,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,OAAO,CACrD,CAAC;YACF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACzC,UAAU,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,uBAAuB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqGxB,CAAC;AAEF,MAAM,wBAAwB,GAAG;;;;;;;CAOhC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skir",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.23",
|
|
4
4
|
"description": "",
|
|
5
|
-
"homepage": "
|
|
5
|
+
"homepage": "http://skir.build",
|
|
6
6
|
"bugs": {
|
|
7
7
|
"url": "https://github.com/gepheum/skir/issues"
|
|
8
8
|
},
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"skir-dart-gen": "^1.0.3",
|
|
47
47
|
"skir-internal": "^0.1.0",
|
|
48
48
|
"skir-java-gen": "^1.0.4",
|
|
49
|
-
"skir-kotlin-gen": "^1.0.
|
|
49
|
+
"skir-kotlin-gen": "^1.0.5",
|
|
50
50
|
"skir-python-gen": "^1.0.3",
|
|
51
51
|
"skir-typescript-gen": "^1.0.5",
|
|
52
52
|
"watcher": "^2.3.1",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"@typescript-eslint/parser": "^8.50.1",
|
|
62
62
|
"buckwheat": "^1.1.2",
|
|
63
63
|
"eslint": "^9.39.2",
|
|
64
|
-
"mocha": "^11.
|
|
64
|
+
"mocha": "^11.3.0",
|
|
65
65
|
"prettier": "^3.2.4",
|
|
66
66
|
"prettier-plugin-organize-imports": "^4.2.0",
|
|
67
67
|
"ts-node": "^10.9.2",
|
|
@@ -50,6 +50,7 @@ export function initializeProject(rootDir: string): void {
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
console.log(`Done. Please edit: ${rewritePathForRendering(skirYmlPath)}`);
|
|
53
|
+
console.log("To generate code, run: npx skir gen [--watch]");
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
const SKIR_YML_CONTENT = `# Configuration file for Skir code generator
|