zenstack 1.0.0-alpha.99 → 1.0.0-beta.10

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 (103) hide show
  1. package/README.md +65 -24
  2. package/cli/cli-util.d.ts +4 -1
  3. package/cli/cli-util.js +63 -9
  4. package/cli/cli-util.js.map +1 -1
  5. package/cli/config.js +39 -13
  6. package/cli/config.js.map +1 -1
  7. package/cli/index.js +1 -6
  8. package/cli/index.js.map +1 -1
  9. package/cli/plugin-runner.d.ts +2 -1
  10. package/cli/plugin-runner.js +106 -48
  11. package/cli/plugin-runner.js.map +1 -1
  12. package/language-server/constants.d.ts +0 -4
  13. package/language-server/constants.js +1 -14
  14. package/language-server/constants.js.map +1 -1
  15. package/language-server/utils.d.ts +1 -5
  16. package/language-server/utils.js +3 -20
  17. package/language-server/utils.js.map +1 -1
  18. package/language-server/validator/datamodel-validator.d.ts +7 -0
  19. package/language-server/validator/datamodel-validator.js +71 -21
  20. package/language-server/validator/datamodel-validator.js.map +1 -1
  21. package/language-server/validator/expression-validator.js +44 -7
  22. package/language-server/validator/expression-validator.js.map +1 -1
  23. package/language-server/validator/function-decl-validator.d.ts +9 -0
  24. package/language-server/validator/function-decl-validator.js +15 -0
  25. package/language-server/validator/function-decl-validator.js.map +1 -0
  26. package/language-server/validator/function-invocation-validator.js +31 -5
  27. package/language-server/validator/function-invocation-validator.js.map +1 -1
  28. package/language-server/validator/schema-validator.d.ts +4 -1
  29. package/language-server/validator/schema-validator.js +25 -5
  30. package/language-server/validator/schema-validator.js.map +1 -1
  31. package/language-server/validator/utils.d.ts +4 -4
  32. package/language-server/validator/utils.js +10 -1
  33. package/language-server/validator/utils.js.map +1 -1
  34. package/language-server/validator/zmodel-validator.d.ts +4 -1
  35. package/language-server/validator/zmodel-validator.js +13 -4
  36. package/language-server/validator/zmodel-validator.js.map +1 -1
  37. package/language-server/zmodel-code-action.d.ts +2 -1
  38. package/language-server/zmodel-code-action.js +19 -10
  39. package/language-server/zmodel-code-action.js.map +1 -1
  40. package/language-server/zmodel-definition.d.ts +7 -0
  41. package/language-server/zmodel-definition.js +31 -0
  42. package/language-server/zmodel-definition.js.map +1 -0
  43. package/language-server/zmodel-formatter.js +2 -2
  44. package/language-server/zmodel-formatter.js.map +1 -1
  45. package/language-server/zmodel-linker.d.ts +2 -0
  46. package/language-server/zmodel-linker.js +71 -7
  47. package/language-server/zmodel-linker.js.map +1 -1
  48. package/language-server/zmodel-module.js +4 -1
  49. package/language-server/zmodel-module.js.map +1 -1
  50. package/language-server/zmodel-scope.d.ts +7 -1
  51. package/language-server/zmodel-scope.js +57 -1
  52. package/language-server/zmodel-scope.js.map +1 -1
  53. package/package.json +19 -21
  54. package/plugins/access-policy/expression-writer.js +71 -25
  55. package/plugins/access-policy/expression-writer.js.map +1 -1
  56. package/plugins/access-policy/policy-guard-generator.js +107 -73
  57. package/plugins/access-policy/policy-guard-generator.js.map +1 -1
  58. package/plugins/access-policy/utils.d.ts +2 -2
  59. package/plugins/access-policy/utils.js +2 -2
  60. package/plugins/access-policy/utils.js.map +1 -1
  61. package/plugins/model-meta/index.js +35 -31
  62. package/plugins/model-meta/index.js.map +1 -1
  63. package/plugins/plugin-utils.d.ts +4 -4
  64. package/plugins/plugin-utils.js +28 -18
  65. package/plugins/plugin-utils.js.map +1 -1
  66. package/plugins/prisma/index.d.ts +1 -1
  67. package/plugins/prisma/prisma-builder.d.ts +6 -3
  68. package/plugins/prisma/prisma-builder.js +29 -8
  69. package/plugins/prisma/prisma-builder.js.map +1 -1
  70. package/plugins/prisma/schema-generator.d.ts +4 -1
  71. package/plugins/prisma/schema-generator.js +149 -32
  72. package/plugins/prisma/schema-generator.js.map +1 -1
  73. package/plugins/zod/generator.js +171 -22
  74. package/plugins/zod/generator.js.map +1 -1
  75. package/plugins/zod/index.d.ts +1 -1
  76. package/plugins/zod/transformer.d.ts +6 -6
  77. package/plugins/zod/transformer.js +168 -108
  78. package/plugins/zod/transformer.js.map +1 -1
  79. package/plugins/zod/types.d.ts +2 -0
  80. package/plugins/zod/utils/schema-gen.d.ts +3 -0
  81. package/plugins/zod/utils/schema-gen.js +178 -0
  82. package/plugins/zod/utils/schema-gen.js.map +1 -0
  83. package/res/starter.zmodel +4 -4
  84. package/res/stdlib.zmodel +176 -90
  85. package/telemetry.d.ts +2 -1
  86. package/telemetry.js +5 -3
  87. package/telemetry.js.map +1 -1
  88. package/utils/ast-utils.d.ts +10 -3
  89. package/utils/ast-utils.js +91 -8
  90. package/utils/ast-utils.js.map +1 -1
  91. package/utils/pkg-utils.js +1 -1
  92. package/utils/pkg-utils.js.map +1 -1
  93. package/utils/typescript-expression-transformer.d.ts +53 -0
  94. package/utils/typescript-expression-transformer.js +295 -0
  95. package/utils/typescript-expression-transformer.js.map +1 -0
  96. package/utils/version-utils.js +1 -0
  97. package/utils/version-utils.js.map +1 -1
  98. package/plugins/access-policy/typescript-expression-transformer.d.ts +0 -28
  99. package/plugins/access-policy/typescript-expression-transformer.js +0 -121
  100. package/plugins/access-policy/typescript-expression-transformer.js.map +0 -1
  101. package/plugins/access-policy/zod-schema-generator.d.ts +0 -12
  102. package/plugins/access-policy/zod-schema-generator.js +0 -157
  103. package/plugins/access-policy/zod-schema-generator.js.map +0 -1
package/README.md CHANGED
@@ -1,9 +1,11 @@
1
1
  <div align="center">
2
2
  <a href="https://zenstack.dev">
3
- <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
+ <picture>
4
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/zenstackhq/zenstack-docs/main/static/img/logo-dark.png">
5
+ <img src="https://raw.githubusercontent.com/zenstackhq/zenstack-docs/main/static/img/logo.png" height="128">
6
+ </picture>
5
7
  </a>
6
- <div></div>
8
+ <h1>ZenStack</h1>
7
9
  <a href="https://www.npmjs.com/package/zenstack">
8
10
  <img src="https://img.shields.io/npm/v/zenstack">
9
11
  </a>
@@ -21,13 +23,19 @@
21
23
 
22
24
  ## What it is
23
25
 
24
- ZenStack is a toolkit that simplifies the development of a web app's backend. It supercharges [Prisma ORM](https://prisma.io) with a powerful access control layer and unleashes its full potential for web development.
26
+ ZenStack is a Node.js/TypeScript toolkit that simplifies the development of a web app's backend. It supercharges [Prisma ORM](https://prisma.io) with a powerful access control layer and unleashes its full potential for full-stack development.
25
27
 
26
28
  Our goal is to let you save time writing boilerplate code and focus on building real features!
27
29
 
28
30
  ## How it works
29
31
 
30
- ZenStack extended Prisma schema language for supporting custom attributes and functions and, based on that, implemented a flexible access control layer around Prisma.
32
+ > Read full documentation at 👉🏻 [zenstack.dev](https://zenstack.dev).
33
+
34
+ ZenStack incrementally extends Prisma's power with the following four layers:
35
+
36
+ ### 1. ZModel - an extended Prisma schema language
37
+
38
+ ZenStack introduces a data modeling language called "ZModel" - a superset of Prisma schema language. It extended Prisma schema with custom attributes and functions and, based on that, implemented a flexible access control layer around Prisma.
31
39
 
32
40
  ```prisma
33
41
  // schema.zmodel
@@ -47,34 +55,58 @@ model Post {
47
55
  }
48
56
  ```
49
57
 
50
- At runtime, transparent proxies are created around Prisma clients for intercepting queries and mutations to enforce access policies. Moreover, framework integration packages help you wrap an access-control-enabled Prisma client into backend APIs that can be safely called from the frontend.
58
+ The `zenstack` CLI transpiles the ZModel into a standard Prisma schema, which you can use with the regular Prisma workflows.
59
+
60
+ ### 2. Runtime enhancements to Prisma client
61
+
62
+ At runtime, transparent proxies are created around Prisma clients for intercepting queries and mutations to enforce access policies.
63
+
64
+ ```ts
65
+ import { withPolicy } from '@zenstackhq/runtime';
66
+
67
+ // a regular Prisma client
68
+ const prisma = new PrismaClient();
69
+
70
+ async function getPosts(userId: string) {
71
+ // create an enhanced Prisma client that has access control enabled
72
+ const enhanced = withPolicy(prisma, { user: userId });
73
+
74
+ // only posts that're visible to the user will be returned
75
+ return enhanced.post.findMany();
76
+ }
77
+ ```
78
+
79
+ ### 3. Automatic RESTful APIs through server adapters
80
+
81
+ Server adapter packages help you wrap an access-control-enabled Prisma client into backend CRUD APIs that can be safely called from the frontend. Here's an example for Next.js:
51
82
 
52
83
  ```ts
53
- // Next.js example: pages/api/model/[...path].ts
84
+ // pages/api/model/[...path].ts
54
85
 
55
86
  import { requestHandler } from '@zenstackhq/next';
56
87
  import { withPolicy } from '@zenstackhq/runtime';
57
88
  import { getSessionUser } from '@lib/auth';
58
89
  import { prisma } from '@lib/db';
59
90
 
91
+ // Mount Prisma-style APIs: "/api/model/post/findMany", "/api/model/post/create", etc.
92
+ // Can be configured to provide standard RESTful APIs (using JSON:API) instead.
60
93
  export default requestHandler({
61
94
  getPrisma: (req, res) => withPolicy(prisma, { user: getSessionUser(req, res) }),
62
95
  });
63
96
  ```
64
97
 
65
- Plugins can generate strong-typed client libraries that talk to the APIs:
98
+ ### 4. Generated client libraries (hooks) for data access
99
+
100
+ Plugins can generate strong-typed client libraries that talk to the aforementioned APIs. Here's an example for React:
66
101
 
67
102
  ```tsx
68
- // React example: components/MyPosts.tsx
103
+ // components/MyPosts.tsx
69
104
 
70
- import { usePost } from '@lib/hooks';
105
+ import { useFindManyPost } from '@lib/hooks';
71
106
 
72
107
  const MyPosts = () => {
73
- // Post CRUD hooks
74
- const { findMany } = usePost();
75
-
76
108
  // list all posts that're visible to the current user, together with their authors
77
- const { data: posts } = findMany({
109
+ const { data: posts } = useFindManyPost({
78
110
  include: { author: true },
79
111
  orderBy: { createdAt: 'desc' },
80
112
  });
@@ -91,7 +123,9 @@ const MyPosts = () => {
91
123
  };
92
124
  ```
93
125
 
94
- The following diagram gives a high-level overview of how it works.
126
+ ## Architecture
127
+
128
+ The following diagram gives a high-level architecture overview of ZenStack.
95
129
 
96
130
  ![Architecture](https://zenstack.dev/img/architecture-light.png)
97
131
 
@@ -116,37 +150,44 @@ The following diagram gives a high-level overview of how it works.
116
150
 
117
151
  - Prisma schema generator
118
152
  - Zod schema generator
119
- - React hooks generator
153
+ - [SWR](https://github.com/vercel/swr) and [TanStack Query](https://github.com/TanStack/query) hooks generator
120
154
  - OpenAPI specification generator
121
155
  - [tRPC](https://trpc.io) router generator
122
156
  - 🙋🏻 [Request for a plugin](https://go.zenstack.dev/chat)
123
157
 
124
158
  ### Framework adapters
125
159
 
126
- - [Next.js](https://zenstack.dev/docs/reference/server-adapters/next)
160
+ - [Next.js](https://zenstack.dev/docs/reference/server-adapters/next) (including support for the new "app directory" in Next.js 13)
161
+ - [SvelteKit](https://zenstack.dev/docs/reference/server-adapters/sveltekit)
127
162
  - [Fastify](https://zenstack.dev/docs/reference/server-adapters/fastify)
128
163
  - [ExpressJS](https://zenstack.dev/docs/reference/server-adapters/express)
129
164
  - Nuxt.js (Future)
130
- - SvelteKit (Future)
131
165
  - 🙋🏻 [Request for an adapter](https://go.zenstack.dev/chat)
132
166
 
133
167
  ### Prisma schema extensions
134
168
 
135
169
  - [Custom attributes and functions](https://zenstack.dev/docs/reference/zmodel-language#custom-attributes-and-functions)
136
- - Multi-file schema (coming soon)
137
- - String-typed JSON field (coming soon)
170
+ - [Multi-file schema and model inheritance](https://zenstack.dev/docs/guides/multiple-schema)
171
+ - Strong-typed JSON field (coming soon)
172
+ - Polymorphism (future)
138
173
  - 🙋🏻 [Request for an extension](https://go.zenstack.dev/chat)
139
174
 
140
175
  ## Examples
141
176
 
142
- Check out the [Collaborative Todo App](https://zenstack-todo.vercel.app/) for a running example. You can find the source code below:
177
+ Check out the [Collaborative Todo App](https://zenstack-todo.vercel.app/) for a running example. You can find different implementations below:
143
178
 
144
- - [Next.js + React hooks implementation](https://github.com/zenstackhq/sample-todo-nextjs)
145
- - [Next.js + tRPC implementation](https://github.com/zenstackhq/sample-todo-trpc)
179
+ - [Next.js + SWR hooks](https://github.com/zenstackhq/sample-todo-nextjs)
180
+ - [Next.js + TanStack Query](https://github.com/zenstackhq/sample-todo-nextjs-tanstack)
181
+ - [Next.js + tRPC](https://github.com/zenstackhq/sample-todo-trpc)
182
+ - [SvelteKit + TanStack Query](https://github.com/zenstackhq/sample-todo-sveltekit)
146
183
 
147
184
  ## Community
148
185
 
149
- Join our [discord server](https://go.zenstack.dev/chat) for chat and updates!
186
+ Join our [discord server](https://discord.gg/Ykhr738dUe) for chat and updates!
187
+
188
+ ## Contributing
189
+
190
+ If you like ZenStack, join us to make it a better tool! Please use the [Contributing Guide](CONTRIBUTING.md) for details on how to get started, and don't hesitate to join [Discord](https://discord.gg/Ykhr738dUe) to share your thoughts.
150
191
 
151
192
  ## License
152
193
 
package/cli/cli-util.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { Model } from '@zenstackhq/language/ast';
2
- import { LangiumDocument } from 'langium';
2
+ import { LangiumDocument, LangiumDocuments } from 'langium';
3
+ import { URI } from 'vscode-uri';
3
4
  import { ZModelServices } from '../language-server/zmodel-module';
4
5
  import { PackageManagers } from '../utils/pkg-utils';
5
6
  /**
@@ -13,6 +14,8 @@ export declare function initProject(projectPath: string, prismaSchema: string |
13
14
  * @returns Parsed and validated AST
14
15
  */
15
16
  export declare function loadDocument(fileName: string): Promise<Model>;
17
+ export declare function eagerLoadAllImports(document: LangiumDocument, documents: LangiumDocuments, uris?: Set<string>): URI[];
18
+ export declare function mergeImportsDeclarations(documents: LangiumDocuments, model: Model): void;
16
19
  export declare function getPluginDocuments(services: ZModelServices, fileName: string): Promise<LangiumDocument[]>;
17
20
  export declare function runPlugins(options: {
18
21
  schema: string;
package/cli/cli-util.js CHANGED
@@ -12,12 +12,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.dumpInfo = exports.runPlugins = exports.getPluginDocuments = exports.loadDocument = exports.initProject = void 0;
15
+ exports.dumpInfo = exports.runPlugins = exports.getPluginDocuments = exports.mergeImportsDeclarations = exports.eagerLoadAllImports = exports.loadDocument = exports.initProject = void 0;
16
16
  const ast_1 = require("@zenstackhq/language/ast");
17
17
  const sdk_1 = require("@zenstackhq/sdk");
18
18
  const colors_1 = __importDefault(require("colors"));
19
19
  const fs_1 = __importDefault(require("fs"));
20
20
  const get_latest_version_1 = __importDefault(require("get-latest-version"));
21
+ const langium_1 = require("langium");
21
22
  const node_1 = require("langium/node");
22
23
  const ora_1 = __importDefault(require("ora"));
23
24
  const path_1 = __importDefault(require("path"));
@@ -25,6 +26,7 @@ const semver_1 = __importDefault(require("semver"));
25
26
  const vscode_uri_1 = require("vscode-uri");
26
27
  const constants_1 = require("../language-server/constants");
27
28
  const zmodel_module_1 = require("../language-server/zmodel-module");
29
+ const ast_utils_1 = require("../utils/ast-utils");
28
30
  const pkg_utils_1 = require("../utils/pkg-utils");
29
31
  const version_utils_1 = require("../utils/version-utils");
30
32
  const cli_error_1 = require("./cli-error");
@@ -76,7 +78,7 @@ function initProject(projectPath, prismaSchema, packageManager, tag) {
76
78
  Please check the following guide on how to model your app:
77
79
  https://zenstack.dev/#/modeling-your-app.`);
78
80
  }
79
- else {
81
+ else if (prismaSchema) {
80
82
  console.log(`Your current Prisma schema "${prismaSchema}" has been copied to "${zmodelFile}".
81
83
  Moving forward please edit this file and run "zenstack generate" to regenerate Prisma schema.`);
82
84
  }
@@ -91,7 +93,6 @@ exports.initProject = initProject;
91
93
  * @returns Parsed and validated AST
92
94
  */
93
95
  function loadDocument(fileName) {
94
- var _a;
95
96
  return __awaiter(this, void 0, void 0, function* () {
96
97
  const services = (0, zmodel_module_1.createZModelServices)(node_1.NodeFileSystem).ZModel;
97
98
  const extensions = services.LanguageMetaData.fileExtensions;
@@ -107,13 +108,20 @@ function loadDocument(fileName) {
107
108
  const stdLib = services.shared.workspace.LangiumDocuments.getOrCreateDocument(vscode_uri_1.URI.file(path_1.default.resolve(path_1.default.join(__dirname, '../res', constants_1.STD_LIB_MODULE_NAME))));
108
109
  // load documents provided by plugins
109
110
  const pluginDocuments = yield getPluginDocuments(services, fileName);
111
+ const langiumDocuments = services.shared.workspace.LangiumDocuments;
110
112
  // load the document
111
- const document = services.shared.workspace.LangiumDocuments.getOrCreateDocument(vscode_uri_1.URI.file(path_1.default.resolve(fileName)));
113
+ const document = langiumDocuments.getOrCreateDocument(vscode_uri_1.URI.file(path_1.default.resolve(fileName)));
114
+ // load all imports
115
+ const importedURIs = eagerLoadAllImports(document, langiumDocuments);
116
+ const importedDocuments = importedURIs.map((uri) => langiumDocuments.getOrCreateDocument(uri));
112
117
  // build the document together with standard library and plugin modules
113
- yield services.shared.workspace.DocumentBuilder.build([stdLib, ...pluginDocuments, document], {
118
+ yield services.shared.workspace.DocumentBuilder.build([stdLib, ...pluginDocuments, document, ...importedDocuments], {
114
119
  validationChecks: 'all',
115
120
  });
116
- const validationErrors = ((_a = document.diagnostics) !== null && _a !== void 0 ? _a : []).filter((e) => e.severity === 1);
121
+ const validationErrors = langiumDocuments.all
122
+ .flatMap((d) => { var _a; return (_a = d.diagnostics) !== null && _a !== void 0 ? _a : []; })
123
+ .filter((e) => e.severity === 1)
124
+ .toArray();
117
125
  if (validationErrors.length > 0) {
118
126
  console.error(colors_1.default.red('Validation errors:'));
119
127
  for (const validationError of validationErrors) {
@@ -121,10 +129,56 @@ function loadDocument(fileName) {
121
129
  }
122
130
  throw new cli_error_1.CliError('schema validation errors');
123
131
  }
124
- return document.parseResult.value;
132
+ const model = document.parseResult.value;
133
+ mergeImportsDeclarations(langiumDocuments, model);
134
+ validationAfterMerge(model);
135
+ (0, ast_utils_1.mergeBaseModel)(model);
136
+ return model;
125
137
  });
126
138
  }
127
139
  exports.loadDocument = loadDocument;
140
+ // check global unique thing after merge imports
141
+ function validationAfterMerge(model) {
142
+ const dataSources = model.declarations.filter((d) => (0, ast_1.isDataSource)(d));
143
+ if (dataSources.length == 0) {
144
+ console.error(colors_1.default.red('Validation errors: Model must define a datasource'));
145
+ throw new cli_error_1.CliError('schema validation errors');
146
+ }
147
+ else if (dataSources.length > 1) {
148
+ console.error(colors_1.default.red('Validation errors: Multiple datasource declarations are not allowed'));
149
+ throw new cli_error_1.CliError('schema validation errors');
150
+ }
151
+ }
152
+ function eagerLoadAllImports(document, documents, uris = new Set()) {
153
+ const uriString = document.uri.toString();
154
+ if (!uris.has(uriString)) {
155
+ uris.add(uriString);
156
+ const model = document.parseResult.value;
157
+ for (const imp of model.imports) {
158
+ const importedModel = (0, ast_utils_1.resolveImport)(documents, imp);
159
+ if (importedModel) {
160
+ const importedDoc = (0, langium_1.getDocument)(importedModel);
161
+ eagerLoadAllImports(importedDoc, documents, uris);
162
+ }
163
+ }
164
+ }
165
+ return Array.from(uris)
166
+ .filter((x) => uriString != x)
167
+ .map((e) => vscode_uri_1.URI.parse(e));
168
+ }
169
+ exports.eagerLoadAllImports = eagerLoadAllImports;
170
+ function mergeImportsDeclarations(documents, model) {
171
+ const importedModels = (0, ast_utils_1.resolveTransitiveImports)(documents, model);
172
+ const importedDeclarations = importedModels.flatMap((m) => m.declarations);
173
+ importedDeclarations.forEach((d) => {
174
+ const mutable = d;
175
+ // The plugin might use $container to access the model
176
+ // need to make sure it is always resolved to the main model
177
+ mutable.$container = model;
178
+ });
179
+ model.declarations.push(...importedDeclarations);
180
+ }
181
+ exports.mergeImportsDeclarations = mergeImportsDeclarations;
128
182
  function getPluginDocuments(services, fileName) {
129
183
  return __awaiter(this, void 0, void 0, function* () {
130
184
  // parse the user document (without validation)
@@ -146,7 +200,7 @@ function getPluginDocuments(services, fileName) {
146
200
  }
147
201
  }
148
202
  catch (_a) {
149
- console.warn(`Unable to load plugin from ${provider}, skipping`);
203
+ // noop
150
204
  }
151
205
  }
152
206
  }
@@ -169,7 +223,7 @@ function runPlugins(options) {
169
223
  }
170
224
  catch (err) {
171
225
  if (err instanceof sdk_1.PluginError) {
172
- console.error(colors_1.default.red(err.message));
226
+ console.error(colors_1.default.red(`${err.plugin}: ${err.message}`));
173
227
  throw new cli_error_1.CliError(err.message);
174
228
  }
175
229
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"cli-util.js","sourceRoot":"","sources":["../../src/cli/cli-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-util.js","sourceRoot":"","sources":["../../src/cli/cli-util.ts"],"names":[],"mappings":"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"}
package/cli/config.js CHANGED
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
@@ -6,7 +29,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
29
  exports.loadConfig = exports.config = void 0;
7
30
  const sdk_1 = require("@zenstackhq/sdk");
8
31
  const fs_1 = __importDefault(require("fs"));
9
- const zod_1 = __importDefault(require("zod"));
32
+ const zod_1 = __importStar(require("zod"));
10
33
  const zod_validation_error_1 = require("zod-validation-error");
11
34
  const cli_error_1 = require("./cli-error");
12
35
  const schema = zod_1.default
@@ -21,21 +44,24 @@ exports.config = schema.parse({});
21
44
  * @returns
22
45
  */
23
46
  function loadConfig(filename) {
24
- if (!fs_1.default.existsSync(filename)) {
25
- return;
26
- }
27
- let content;
28
47
  try {
29
- content = JSON.parse(fs_1.default.readFileSync(filename, 'utf-8'));
30
- }
31
- catch (_a) {
32
- throw new cli_error_1.CliError(`Config is not a valid JSON file: ${filename}`);
48
+ const fileData = fs_1.default.readFileSync(filename, `utf-8`);
49
+ const content = JSON.parse(fileData);
50
+ exports.config = schema.parse(content);
51
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
33
52
  }
34
- const parsed = schema.safeParse(content);
35
- if (!parsed.success) {
36
- throw new cli_error_1.CliError(`Config file ${filename} is not valid: ${(0, zod_validation_error_1.fromZodError)(parsed.error)}`);
53
+ catch (err) {
54
+ if ((err === null || err === void 0 ? void 0 : err.code) === `ENOENT`) {
55
+ throw new cli_error_1.CliError(`Config file could not be found: ${filename}`);
56
+ }
57
+ if (err instanceof SyntaxError) {
58
+ throw new cli_error_1.CliError(`Config is not a valid JSON file: ${filename}`);
59
+ }
60
+ if (err instanceof zod_1.ZodError) {
61
+ throw new cli_error_1.CliError(`Config file ${filename} is not valid: ${(0, zod_validation_error_1.fromZodError)(err)}`);
62
+ }
63
+ throw new cli_error_1.CliError(`Error loading config: ${filename}`);
37
64
  }
38
- exports.config = parsed.data;
39
65
  }
40
66
  exports.loadConfig = loadConfig;
41
67
  //# sourceMappingURL=config.js.map
package/cli/config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":";;;;;;AAAA,yCAA2E;AAC3E,4CAAoB;AACpB,8CAAoB;AACpB,+DAAoD;AACpD,2CAAuC;AAEvC,MAAM,MAAM,GAAG,aAAC;KACX,MAAM,CAAC;IACJ,cAAc,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,sBAAgB,CAAC;IACpD,oBAAoB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,4BAAsB,CAAC;CACnE,CAAC;KACD,MAAM,EAAE,CAAC;AAIH,QAAA,MAAM,GAAe,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAEjD;;;GAGG;AACH,SAAgB,UAAU,CAAC,QAAgB;IACvC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC1B,OAAO;KACV;IAED,IAAI,OAAgB,CAAC;IACrB,IAAI;QACA,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;KAC5D;IAAC,WAAM;QACJ,MAAM,IAAI,oBAAQ,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;KACtE;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;QACjB,MAAM,IAAI,oBAAQ,CAAC,eAAe,QAAQ,kBAAkB,IAAA,mCAAY,EAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KAC7F;IAED,cAAM,GAAG,MAAM,CAAC,IAAI,CAAC;AACzB,CAAC;AAlBD,gCAkBC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA2E;AAC3E,4CAAoB;AACpB,2CAAkC;AAClC,+DAAoD;AACpD,2CAAuC;AAEvC,MAAM,MAAM,GAAG,aAAC;KACX,MAAM,CAAC;IACJ,cAAc,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,sBAAgB,CAAC;IACpD,oBAAoB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,4BAAsB,CAAC;CACnE,CAAC;KACD,MAAM,EAAE,CAAC;AAIH,QAAA,MAAM,GAAe,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAEjD;;;GAGG;AACH,SAAgB,UAAU,CAAC,QAAgB;IACvC,IAAI;QACA,MAAM,QAAQ,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrC,cAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,8DAA8D;KACjE;IAAC,OAAO,GAAQ,EAAE;QACf,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,MAAK,QAAQ,EAAE;YACxB,MAAM,IAAI,oBAAQ,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;SACrE;QACD,IAAI,GAAG,YAAY,WAAW,EAAE;YAC5B,MAAM,IAAI,oBAAQ,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;SACtE;QACD,IAAI,GAAG,YAAY,cAAQ,EAAE;YACzB,MAAM,IAAI,oBAAQ,CAAC,eAAe,QAAQ,kBAAkB,IAAA,mCAAY,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACpF;QACD,MAAM,IAAI,oBAAQ,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;KAC3D;AACL,CAAC;AAlBD,gCAkBC"}
package/cli/index.js CHANGED
@@ -126,12 +126,7 @@ function createProgram() {
126
126
  configFile = DEFAULT_CONFIG_FILE;
127
127
  }
128
128
  if (configFile) {
129
- if (fs_1.default.existsSync(configFile)) {
130
- (0, config_1.loadConfig)(configFile);
131
- }
132
- else {
133
- throw new cli_error_1.CliError(`Config file ${configFile} not found`);
134
- }
129
+ (0, config_1.loadConfig)(configFile);
135
130
  }
136
131
  }));
137
132
  return program;
package/cli/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Context } from '../types';
2
2
  /**
3
- * ZenStack code generator
3
+ * ZenStack plugin runner
4
4
  */
5
5
  export declare class PluginRunner {
6
6
  /**
@@ -8,6 +8,7 @@ export declare class PluginRunner {
8
8
  */
9
9
  run(context: Context): Promise<void>;
10
10
  private getPluginName;
11
+ private getPluginDependencies;
11
12
  private getPluginProvider;
12
13
  private runPlugin;
13
14
  private getPluginModulePath;