zenstack 1.0.0-alpha.73 → 1.0.0-alpha.74
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 +28 -5
- package/cli/plugin-runner.js +1 -1
- package/cli/plugin-runner.js.map +1 -1
- package/package.json +5 -5
- package/res/stdlib.zmodel +1 -1
package/README.md
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<a href="https://zenstack.dev">
|
|
3
2
|
<img src="https://user-images.githubusercontent.com/104139426/214809937-4ed30485-a683-4fea-b737-928c48e86fd7.png" style="max-width: 512px; width: 100%; height: auto; margin-bottom: 1rem;"
|
|
4
3
|
>
|
|
5
|
-
</a>
|
|
6
4
|
<div></div>
|
|
7
5
|
<a href="https://www.npmjs.com/package/zenstack">
|
|
8
6
|
<img src="https://img.shields.io/npm/v/zenstack">
|
|
@@ -101,17 +99,42 @@ The following diagram gives a high-level overview of how it works.
|
|
|
101
99
|
- [Documentation](https://zenstack.dev/docs)
|
|
102
100
|
- [Community chat](https://go.zenstack.dev/chat)
|
|
103
101
|
- [Twitter](https://twitter.com/zenstackhq)
|
|
104
|
-
- [Blog](https://
|
|
102
|
+
- [Blog](https://dev.to/zenstack)
|
|
105
103
|
|
|
106
104
|
## Features
|
|
107
105
|
|
|
108
106
|
- Access control and data validation rules right inside your Prisma schema
|
|
109
|
-
- Auto-generated RESTful
|
|
107
|
+
- Auto-generated OpenAPI (RESTful) specifications, services, and client libraries
|
|
110
108
|
- End-to-end type safety
|
|
111
109
|
- Extensible: custom attributes, functions, and a plugin system
|
|
112
|
-
-
|
|
110
|
+
- A framework-agnostic core with framework-specific adapters
|
|
113
111
|
- Uncompromised performance
|
|
114
112
|
|
|
113
|
+
### Plugins
|
|
114
|
+
|
|
115
|
+
- Prisma schema generator
|
|
116
|
+
- Zod schema generator
|
|
117
|
+
- React hooks generator
|
|
118
|
+
- OpenAPI specification generator
|
|
119
|
+
- [tRPC](https://trpc.io) router generator
|
|
120
|
+
- 🙋🏻 [Request for a plugin](https://go.zenstack.dev/chat)
|
|
121
|
+
|
|
122
|
+
### Framework adapters
|
|
123
|
+
|
|
124
|
+
- [Next.js](https://zenstack.dev/docs/reference/server-adapters/next)
|
|
125
|
+
- [Fastify](https://zenstack.dev/docs/reference/server-adapters/fastify)
|
|
126
|
+
- [ExpressJS](https://zenstack.dev/docs/reference/server-adapters/express)
|
|
127
|
+
- Nuxt.js (Future)
|
|
128
|
+
- SvelteKit (Future)
|
|
129
|
+
- 🙋🏻 [Request for an adapter](https://go.zenstack.dev/chat)
|
|
130
|
+
|
|
131
|
+
### Prisma schema extensions
|
|
132
|
+
|
|
133
|
+
- [Custom attributes and functions](https://zenstack.dev/docs/reference/zmodel-language#custom-attributes-and-functions)
|
|
134
|
+
- Multi-file schema (coming soon)
|
|
135
|
+
- String-typed JSON field (coming soon)
|
|
136
|
+
- 🙋🏻 [Request for an extension](https://go.zenstack.dev/chat)
|
|
137
|
+
|
|
115
138
|
## Examples
|
|
116
139
|
|
|
117
140
|
Check out the [Collaborative Todo App](https://zenstack-todo.vercel.app/) for a running example. You can find the source code below:
|
package/cli/plugin-runner.js
CHANGED
|
@@ -35,7 +35,7 @@ class PluginRunner {
|
|
|
35
35
|
console.log(colors_1.default.bold(`⌛️ ZenStack CLI v${version}, running plugins`));
|
|
36
36
|
const plugins = [];
|
|
37
37
|
const pluginDecls = context.schema.declarations.filter((d) => (0, ast_1.isPlugin)(d));
|
|
38
|
-
const prereqPlugins = ['@core/prisma', '@core/model-meta', '@core/access-policy'
|
|
38
|
+
const prereqPlugins = ['@core/prisma', '@core/model-meta', '@core/access-policy'];
|
|
39
39
|
const allPluginProviders = prereqPlugins.concat(pluginDecls
|
|
40
40
|
.map((p) => this.getPluginProvider(p))
|
|
41
41
|
.filter((p) => !!p && !prereqPlugins.includes(p)));
|
package/cli/plugin-runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-runner.js","sourceRoot":"","sources":["../../src/cli/plugin-runner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,iDAA4C;AAC5C,kDAA4D;AAC5D,yCAA6F;AAC7F,oDAA4B;AAC5B,4CAAoB;AACpB,8CAAsB;AACtB,gDAAwB;AACxB,6DAAqC;AAErC,2CAAuC;AAEvC;;GAEG;AACH,MAAa,YAAY;IACrB;;OAEG;IACG,GAAG,CAAC,OAAgB;;YACtB,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,gBAAM,CAAC,IAAI,CAAC,oBAAoB,OAAO,mBAAmB,CAAC,CAAC,CAAC;YAEzE,MAAM,OAAO,GAKR,EAAE,CAAC;YAER,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,IAAA,cAAQ,EAAC,CAAC,CAAC,CAAC,CAAC;YACxF,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,kBAAkB,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"plugin-runner.js","sourceRoot":"","sources":["../../src/cli/plugin-runner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publisher": "zenstack",
|
|
4
4
|
"displayName": "ZenStack Language Tools",
|
|
5
5
|
"description": "A toolkit for building secure CRUD apps with Next.js + Typescript",
|
|
6
|
-
"version": "1.0.0-alpha.
|
|
6
|
+
"version": "1.0.0-alpha.74",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "ZenStack Team"
|
|
9
9
|
},
|
|
@@ -90,9 +90,9 @@
|
|
|
90
90
|
"vscode-languageserver-textdocument": "^1.0.7",
|
|
91
91
|
"vscode-uri": "^3.0.6",
|
|
92
92
|
"zod": "^3.19.1",
|
|
93
|
-
"@zenstackhq/language": "1.0.0-alpha.
|
|
94
|
-
"@zenstackhq/runtime": "1.0.0-alpha.
|
|
95
|
-
"@zenstackhq/sdk": "1.0.0-alpha.
|
|
93
|
+
"@zenstackhq/language": "1.0.0-alpha.74",
|
|
94
|
+
"@zenstackhq/runtime": "1.0.0-alpha.74",
|
|
95
|
+
"@zenstackhq/sdk": "1.0.0-alpha.74"
|
|
96
96
|
},
|
|
97
97
|
"devDependencies": {
|
|
98
98
|
"@types/async-exit-hook": "^2.0.0",
|
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
"tsc-alias": "^1.7.0",
|
|
122
122
|
"typescript": "^4.8.4",
|
|
123
123
|
"vsce": "^2.13.0",
|
|
124
|
-
"@zenstackhq/testtools": "1.0.0-alpha.
|
|
124
|
+
"@zenstackhq/testtools": "1.0.0-alpha.74"
|
|
125
125
|
},
|
|
126
126
|
"scripts": {
|
|
127
127
|
"vscode:publish": "vsce publish --no-dependencies",
|
package/res/stdlib.zmodel
CHANGED
|
@@ -154,7 +154,7 @@ attribute @map(_ name: String) @@@prisma
|
|
|
154
154
|
attribute @@map(_ name: String) @@@prisma
|
|
155
155
|
|
|
156
156
|
/*
|
|
157
|
-
* Exclude a field from the Prisma Client (for example, a
|
|
157
|
+
* Exclude a field from the Prisma Client (for example, a field that you do not want Prisma users to update).
|
|
158
158
|
*/
|
|
159
159
|
attribute @ignore() @@@prisma
|
|
160
160
|
|