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
@@ -15,33 +15,35 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.name = void 0;
16
16
  const ast_1 = require("@zenstackhq/language/ast");
17
17
  const sdk_1 = require("@zenstackhq/sdk");
18
- const change_case_1 = require("change-case");
18
+ const lower_case_first_1 = require("lower-case-first");
19
19
  const path_1 = __importDefault(require("path"));
20
20
  const ts_morph_1 = require("ts-morph");
21
- const utils_1 = require("../../language-server/utils");
22
21
  const plugin_utils_1 = require("../plugin-utils");
23
22
  exports.name = 'Model Metadata';
24
23
  function run(model, options) {
25
24
  return __awaiter(this, void 0, void 0, function* () {
26
- const output = options.output ? options.output : (0, plugin_utils_1.getDefaultOutputFolder)();
25
+ let output = options.output ? options.output : (0, plugin_utils_1.getDefaultOutputFolder)();
27
26
  if (!output) {
28
- console.error(`Unable to determine output path, not running plugin ${exports.name}`);
29
- return;
27
+ throw new sdk_1.PluginError(options.name, `Unable to determine output path, not running plugin`);
30
28
  }
29
+ output = (0, sdk_1.resolvePath)(output, options);
31
30
  const dataModels = (0, sdk_1.getDataModels)(model);
32
- const project = new ts_morph_1.Project();
33
- if (!options.output) {
34
- (0, plugin_utils_1.ensureNodeModuleFolder)(output);
35
- }
31
+ const project = (0, sdk_1.createProject)();
36
32
  const sf = project.createSourceFile(path_1.default.join(output, 'model-meta.ts'), undefined, { overwrite: true });
33
+ sf.addStatements('/* eslint-disable */');
37
34
  sf.addVariableStatement({
38
35
  declarationKind: ts_morph_1.VariableDeclarationKind.Const,
39
36
  declarations: [{ name: 'metadata', initializer: (writer) => generateModelMetadata(dataModels, writer) }],
40
37
  });
41
38
  sf.addStatements('export default metadata;');
42
- sf.formatText();
43
- yield project.save();
44
- yield project.emit();
39
+ const shouldCompile = options.compile !== false;
40
+ if (!shouldCompile || options.preserveTsFiles === true) {
41
+ // save ts files
42
+ yield (0, sdk_1.saveProject)(project);
43
+ }
44
+ if (shouldCompile) {
45
+ yield (0, sdk_1.emitProject)(project);
46
+ }
45
47
  });
46
48
  }
47
49
  exports.default = run;
@@ -50,7 +52,7 @@ function generateModelMetadata(dataModels, writer) {
50
52
  writer.write('fields:');
51
53
  writer.block(() => {
52
54
  for (const model of dataModels) {
53
- writer.write(`${(0, change_case_1.camelCase)(model.name)}:`);
55
+ writer.write(`${(0, lower_case_first_1.lowerCaseFirst)(model.name)}:`);
54
56
  writer.block(() => {
55
57
  var _a;
56
58
  for (const f of model.fields) {
@@ -61,13 +63,13 @@ function generateModelMetadata(dataModels, writer) {
61
63
  ? f.type.reference.$refText
62
64
  : // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
63
65
  f.type.type}",
64
- isId: ${isIdField(f)},
66
+ isId: ${(0, sdk_1.isIdField)(f)},
65
67
  isDataModel: ${(0, ast_1.isDataModel)((_a = f.type.reference) === null || _a === void 0 ? void 0 : _a.ref)},
66
68
  isArray: ${f.type.array},
67
69
  isOptional: ${f.type.optional},
68
70
  attributes: ${JSON.stringify(getFieldAttributes(f))},
69
71
  backLink: ${backlink ? "'" + backlink.name + "'" : 'undefined'},
70
- isRelationOwner: ${isRelationOwner(f)},
72
+ isRelationOwner: ${isRelationOwner(f, backlink)},
71
73
  },`);
72
74
  }
73
75
  });
@@ -78,7 +80,7 @@ function generateModelMetadata(dataModels, writer) {
78
80
  writer.write('uniqueConstraints:');
79
81
  writer.block(() => {
80
82
  for (const model of dataModels) {
81
- writer.write(`${(0, change_case_1.camelCase)(model.name)}:`);
83
+ writer.write(`${(0, lower_case_first_1.lowerCaseFirst)(model.name)}:`);
82
84
  writer.block(() => {
83
85
  for (const constraint of getUniqueConstraints(model)) {
84
86
  writer.write(`${constraint.name}: {
@@ -137,19 +139,6 @@ function getFieldAttributes(field) {
137
139
  })
138
140
  .filter((d) => !!d);
139
141
  }
140
- function isIdField(field) {
141
- // field-level @id attribute
142
- if (field.attributes.some((attr) => { var _a; return ((_a = attr.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === '@id'; })) {
143
- return true;
144
- }
145
- // model-level @@id attribute with a list of fields
146
- const model = field.$container;
147
- const modelLevelIds = (0, utils_1.getIdFields)(model);
148
- if (modelLevelIds.includes(field)) {
149
- return true;
150
- }
151
- return false;
152
- }
153
142
  function getUniqueConstraints(model) {
154
143
  const constraints = [];
155
144
  for (const attr of model.attributes.filter((attr) => { var _a, _b; return ((_a = attr.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === '@@unique' || ((_b = attr.decl.ref) === null || _b === void 0 ? void 0 : _b.name) === '@@id'; })) {
@@ -166,7 +155,22 @@ function getUniqueConstraints(model) {
166
155
  }
167
156
  return constraints;
168
157
  }
169
- function isRelationOwner(field) {
170
- return (0, sdk_1.hasAttribute)(field, '@relation');
158
+ function isRelationOwner(field, backLink) {
159
+ var _a;
160
+ if (!(0, ast_1.isDataModel)((_a = field.type.reference) === null || _a === void 0 ? void 0 : _a.ref)) {
161
+ return false;
162
+ }
163
+ if ((0, sdk_1.hasAttribute)(field, '@relation')) {
164
+ // this field has `@relation` attribute
165
+ return true;
166
+ }
167
+ else if (!backLink || !(0, sdk_1.hasAttribute)(backLink, '@relation')) {
168
+ // if the opposite side field doesn't have `@relation` attribute either,
169
+ // it's an implicit many-to-many relation, both sides are owners
170
+ return true;
171
+ }
172
+ else {
173
+ return false;
174
+ }
171
175
  }
172
176
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/model-meta/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/model-meta/index.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,12 @@ export declare const ALL_OPERATION_KINDS: PolicyOperationKind[];
4
4
  * Gets the nearest "node_modules" folder by walking up from start path.
5
5
  */
6
6
  export declare function getNodeModulesFolder(startPath?: string): string | undefined;
7
+ /**
8
+ * Ensure the default output folder is initialized.
9
+ */
10
+ export declare function ensureDefaultOutputFolder(): void;
7
11
  /**
8
12
  * Gets the default node_modules/.zenstack output folder for plugins.
9
13
  * @returns
10
14
  */
11
15
  export declare function getDefaultOutputFolder(): string | undefined;
12
- /**
13
- * Ensure a folder exists and has a package.json in it.
14
- */
15
- export declare function ensureNodeModuleFolder(folder: string): void;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ensureNodeModuleFolder = exports.getDefaultOutputFolder = exports.getNodeModulesFolder = exports.ALL_OPERATION_KINDS = void 0;
6
+ exports.getDefaultOutputFolder = exports.ensureDefaultOutputFolder = exports.getNodeModulesFolder = exports.ALL_OPERATION_KINDS = void 0;
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  exports.ALL_OPERATION_KINDS = ['create', 'update', 'postUpdate', 'read', 'delete'];
@@ -12,7 +12,10 @@ exports.ALL_OPERATION_KINDS = ['create', 'update', 'postUpdate', 'read', 'delete
12
12
  */
13
13
  function getNodeModulesFolder(startPath) {
14
14
  startPath = startPath !== null && startPath !== void 0 ? startPath : process.cwd();
15
- if (fs_1.default.existsSync(path_1.default.join(startPath, 'node_modules'))) {
15
+ if (startPath.endsWith('node_modules')) {
16
+ return startPath;
17
+ }
18
+ else if (fs_1.default.existsSync(path_1.default.join(startPath, 'node_modules'))) {
16
19
  return path_1.default.join(startPath, 'node_modules');
17
20
  }
18
21
  else if (startPath !== '/') {
@@ -24,30 +27,37 @@ function getNodeModulesFolder(startPath) {
24
27
  }
25
28
  }
26
29
  exports.getNodeModulesFolder = getNodeModulesFolder;
30
+ /**
31
+ * Ensure the default output folder is initialized.
32
+ */
33
+ function ensureDefaultOutputFolder() {
34
+ const output = getDefaultOutputFolder();
35
+ if (output && !fs_1.default.existsSync(output)) {
36
+ fs_1.default.mkdirSync(output, { recursive: true });
37
+ fs_1.default.writeFileSync(path_1.default.join(output, 'package.json'), JSON.stringify({ name: '.zenstack', version: '1.0.0' }));
38
+ }
39
+ }
40
+ exports.ensureDefaultOutputFolder = ensureDefaultOutputFolder;
27
41
  /**
28
42
  * Gets the default node_modules/.zenstack output folder for plugins.
29
43
  * @returns
30
44
  */
31
45
  function getDefaultOutputFolder() {
32
46
  // Find the real runtime module path, it might be a symlink in pnpm
33
- const runtimeModulePath = require.resolve('@zenstackhq/runtime');
47
+ let runtimeModulePath = require.resolve('@zenstackhq/runtime');
48
+ if (process.env.ZENSTACK_TEST === '1') {
49
+ // handling the case when running as tests, resolve relative to CWD
50
+ runtimeModulePath = path_1.default.resolve(path_1.default.join(process.cwd(), 'node_modules', '@zenstackhq', 'runtime'));
51
+ }
52
+ if (runtimeModulePath) {
53
+ // start with the parent folder of @zenstackhq, supposed to be a node_modules folder
54
+ while (!runtimeModulePath.endsWith('@zenstackhq') && runtimeModulePath !== '/') {
55
+ runtimeModulePath = path_1.default.join(runtimeModulePath, '..');
56
+ }
57
+ runtimeModulePath = path_1.default.join(runtimeModulePath, '..');
58
+ }
34
59
  const modulesFolder = getNodeModulesFolder(runtimeModulePath);
35
60
  return modulesFolder ? path_1.default.join(modulesFolder, '.zenstack') : undefined;
36
61
  }
37
62
  exports.getDefaultOutputFolder = getDefaultOutputFolder;
38
- /**
39
- * Ensure a folder exists and has a package.json in it.
40
- */
41
- function ensureNodeModuleFolder(folder) {
42
- if (!fs_1.default.existsSync(folder)) {
43
- fs_1.default.mkdirSync(folder, { recursive: true });
44
- }
45
- if (!fs_1.default.existsSync(path_1.default.join(folder, 'package.json'))) {
46
- fs_1.default.writeFileSync(path_1.default.join(folder, 'package.json'), JSON.stringify({
47
- name: '.zenstack',
48
- version: '1.0.0',
49
- }));
50
- }
51
- }
52
- exports.ensureNodeModuleFolder = ensureNodeModuleFolder;
53
63
  //# sourceMappingURL=plugin-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-utils.js","sourceRoot":"","sources":["../../src/plugins/plugin-utils.ts"],"names":[],"mappings":";;;;;;AACA,4CAAoB;AACpB,gDAAwB;AAEX,QAAA,mBAAmB,GAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAE/G;;GAEG;AACH,SAAgB,oBAAoB,CAAC,SAAkB;IACnD,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvC,IAAI,YAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,EAAE;QACrD,OAAO,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;KAC/C;SAAM,IAAI,SAAS,KAAK,GAAG,EAAE;QAC1B,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC1C,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;KACvC;SAAM;QACH,OAAO,SAAS,CAAC;KACpB;AACL,CAAC;AAVD,oDAUC;AAED;;;GAGG;AACH,SAAgB,sBAAsB;IAClC,mEAAmE;IACnE,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IAC9D,OAAO,aAAa,CAAC,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC;AALD,wDAKC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,MAAc;IACjD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACxB,YAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KAC7C;IACD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE;QACnD,YAAE,CAAC,aAAa,CACZ,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EACjC,IAAI,CAAC,SAAS,CAAC;YACX,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;SACnB,CAAC,CACL,CAAC;KACL;AACL,CAAC;AAbD,wDAaC"}
1
+ {"version":3,"file":"plugin-utils.js","sourceRoot":"","sources":["../../src/plugins/plugin-utils.ts"],"names":[],"mappings":";;;;;;AACA,4CAAoB;AACpB,gDAAwB;AAEX,QAAA,mBAAmB,GAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAE/G;;GAEG;AACH,SAAgB,oBAAoB,CAAC,SAAkB;IACnD,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvC,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;QACpC,OAAO,SAAS,CAAC;KACpB;SAAM,IAAI,YAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,EAAE;QAC5D,OAAO,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;KAC/C;SAAM,IAAI,SAAS,KAAK,GAAG,EAAE;QAC1B,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC1C,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;KACvC;SAAM;QACH,OAAO,SAAS,CAAC;KACpB;AACL,CAAC;AAZD,oDAYC;AAED;;GAEG;AACH,SAAgB,yBAAyB;IACrC,MAAM,MAAM,GAAG,sBAAsB,EAAE,CAAC;IACxC,IAAI,MAAM,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QAClC,YAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,YAAE,CAAC,aAAa,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;KAChH;AACL,CAAC;AAND,8DAMC;AAED;;;GAGG;AACH,SAAgB,sBAAsB;IAClC,mEAAmE;IACnE,IAAI,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAE/D,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG,EAAE;QACnC,mEAAmE;QACnE,iBAAiB,GAAG,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;KACxG;IAED,IAAI,iBAAiB,EAAE;QACnB,oFAAoF;QACpF,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,iBAAiB,KAAK,GAAG,EAAE;YAC5E,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;SAC1D;QACD,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;KAC1D;IACD,MAAM,aAAa,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IAC9D,OAAO,aAAa,CAAC,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC;AAlBD,wDAkBC"}
@@ -2,4 +2,4 @@ import type { DMMF } from '@prisma/generator-helper';
2
2
  import { Model } from '@zenstackhq/language/ast';
3
3
  import { PluginOptions } from '@zenstackhq/sdk';
4
4
  export declare const name = "Prisma";
5
- export default function run(model: Model, options: PluginOptions, _dmmf?: DMMF.Document, config?: Record<string, string>): Promise<void>;
5
+ export default function run(model: Model, options: PluginOptions, _dmmf?: DMMF.Document, config?: Record<string, string>): Promise<string[]>;
@@ -13,9 +13,10 @@ export declare class PrismaModel {
13
13
  private generators;
14
14
  private models;
15
15
  private enums;
16
- addDataSource(name: string, provider: string, url: DataSourceUrl, shadowDatabaseUrl?: DataSourceUrl, restFields?: SimpleField[]): DataSource;
16
+ addDataSource(name: string, provider: string, url: DataSourceUrl, directUrl?: DataSourceUrl, shadowDatabaseUrl?: DataSourceUrl, restFields?: SimpleField[]): DataSource;
17
17
  addGenerator(name: string, fields: SimpleField[]): Generator;
18
18
  addModel(name: string): Model;
19
+ addView(name: string): Model;
19
20
  addEnum(name: string): Enum;
20
21
  toString(): string;
21
22
  }
@@ -23,9 +24,10 @@ export declare class DataSource {
23
24
  name: string;
24
25
  provider: string;
25
26
  url: DataSourceUrl;
27
+ directUrl?: DataSourceUrl | undefined;
26
28
  shadowDatabaseUrl?: DataSourceUrl | undefined;
27
29
  restFields: SimpleField[];
28
- constructor(name: string, provider: string, url: DataSourceUrl, shadowDatabaseUrl?: DataSourceUrl | undefined, restFields?: SimpleField[]);
30
+ constructor(name: string, provider: string, url: DataSourceUrl, directUrl?: DataSourceUrl | undefined, shadowDatabaseUrl?: DataSourceUrl | undefined, restFields?: SimpleField[]);
29
31
  toString(): string;
30
32
  }
31
33
  export declare class DataSourceUrl {
@@ -56,8 +58,9 @@ export declare class FieldDeclaration extends DeclarationBase {
56
58
  }
57
59
  export declare class Model extends ContainerDeclaration {
58
60
  name: string;
61
+ isView: boolean;
59
62
  fields: ModelField[];
60
- constructor(name: string, documentations?: string[]);
63
+ constructor(name: string, isView: boolean, documentations?: string[]);
61
64
  addField(name: string, type: ModelFieldType | string, attributes?: (FieldAttribute | PassThroughAttribute)[], documentations?: string[]): ModelField;
62
65
  addAttribute(name: string, args?: AttributeArg[]): ContainerAttribute;
63
66
  toString(): string;
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.EnumField = exports.Enum = exports.FunctionCallArg = exports.FunctionCall = exports.FieldReferenceArg = exports.FieldReference = exports.AttributeArgValue = exports.AttributeArg = exports.PassThroughAttribute = exports.ContainerAttribute = exports.FieldAttribute = exports.ModelField = exports.ModelFieldType = exports.Model = exports.FieldDeclaration = exports.ContainerDeclaration = exports.DeclarationBase = exports.Generator = exports.DataSourceUrl = exports.DataSource = exports.PrismaModel = void 0;
7
+ const sdk_1 = require("@zenstackhq/sdk");
7
8
  const indent_string_1 = __importDefault(require("./indent-string"));
8
9
  /**
9
10
  * Prisma schema builder
@@ -15,8 +16,8 @@ class PrismaModel {
15
16
  this.models = [];
16
17
  this.enums = [];
17
18
  }
18
- addDataSource(name, provider, url, shadowDatabaseUrl, restFields = []) {
19
- const ds = new DataSource(name, provider, url, shadowDatabaseUrl, restFields);
19
+ addDataSource(name, provider, url, directUrl, shadowDatabaseUrl, restFields = []) {
20
+ const ds = new DataSource(name, provider, url, directUrl, shadowDatabaseUrl, restFields);
20
21
  this.datasources.push(ds);
21
22
  return ds;
22
23
  }
@@ -26,7 +27,12 @@ class PrismaModel {
26
27
  return generator;
27
28
  }
28
29
  addModel(name) {
29
- const model = new Model(name);
30
+ const model = new Model(name, false);
31
+ this.models.push(model);
32
+ return model;
33
+ }
34
+ addView(name) {
35
+ const model = new Model(name, true);
30
36
  this.models.push(model);
31
37
  return model;
32
38
  }
@@ -43,10 +49,11 @@ class PrismaModel {
43
49
  }
44
50
  exports.PrismaModel = PrismaModel;
45
51
  class DataSource {
46
- constructor(name, provider, url, shadowDatabaseUrl, restFields = []) {
52
+ constructor(name, provider, url, directUrl, shadowDatabaseUrl, restFields = []) {
47
53
  this.name = name;
48
54
  this.provider = provider;
49
55
  this.url = url;
56
+ this.directUrl = directUrl;
50
57
  this.shadowDatabaseUrl = shadowDatabaseUrl;
51
58
  this.restFields = restFields;
52
59
  }
@@ -57,7 +64,8 @@ class DataSource {
57
64
  return (`datasource ${this.name} {\n` +
58
65
  (0, indent_string_1.default)(`provider="${this.provider}"\n`) +
59
66
  (0, indent_string_1.default)(`url=${this.url}\n`) +
60
- (this.shadowDatabaseUrl ? (0, indent_string_1.default)(`shadowDatabaseurl=${this.shadowDatabaseUrl}\n`) : '') +
67
+ (this.directUrl ? (0, indent_string_1.default)(`directUrl=${this.directUrl}\n`) : '') +
68
+ (this.shadowDatabaseUrl ? (0, indent_string_1.default)(`shadowDatabaseUrl=${this.shadowDatabaseUrl}\n`) : '') +
61
69
  (restFields ? restFields + '\n' : '') +
62
70
  `}`);
63
71
  }
@@ -113,9 +121,10 @@ class FieldDeclaration extends DeclarationBase {
113
121
  }
114
122
  exports.FieldDeclaration = FieldDeclaration;
115
123
  class Model extends ContainerDeclaration {
116
- constructor(name, documentations = []) {
124
+ constructor(name, isView, documentations = []) {
117
125
  super(documentations);
118
126
  this.name = name;
127
+ this.isView = isView;
119
128
  this.fields = [];
120
129
  }
121
130
  addField(name, type, attributes = [], documentations = []) {
@@ -129,9 +138,21 @@ class Model extends ContainerDeclaration {
129
138
  return attr;
130
139
  }
131
140
  toString() {
141
+ const auxiliaryFields = this.fields.filter((f) => sdk_1.AUXILIARY_FIELDS.includes(f.name));
142
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
143
+ const result = this.fields.filter((f) => !sdk_1.AUXILIARY_FIELDS.includes(f.name));
144
+ if (auxiliaryFields.length > 0) {
145
+ // Add a blank line before the auxiliary fields
146
+ result.push('', ...auxiliaryFields);
147
+ if (this.attributes.length > 0) {
148
+ // Add a blank line before the attributes
149
+ result.push('');
150
+ }
151
+ }
152
+ result.push(...this.attributes);
132
153
  return (super.toString() +
133
- `model ${this.name} {\n` +
134
- (0, indent_string_1.default)([...this.fields, ...this.attributes].map((d) => d.toString()).join('\n')) +
154
+ `${this.isView ? 'view' : 'model'} ${this.name} {\n` +
155
+ (0, indent_string_1.default)(result.map((d) => d.toString()).join('\n')) +
135
156
  `\n}`);
136
157
  }
137
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-builder.js","sourceRoot":"","sources":["../../../src/plugins/prisma/prisma-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prisma-builder.js","sourceRoot":"","sources":["../../../src/plugins/prisma/prisma-builder.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,15 @@ import { FunctionCall as PrismaFunctionCall } from './prisma-builder';
7
7
  export default class PrismaSchemaGenerator {
8
8
  private zModelGenerator;
9
9
  private readonly PRELUDE;
10
- generate(model: Model, options: PluginOptions, config?: Record<string, string>): Promise<void>;
10
+ generate(model: Model, options: PluginOptions, config?: Record<string, string>): Promise<string[]>;
11
+ private trackPrismaSchemaError;
11
12
  private generateDataSource;
12
13
  private extractDataSourceUrl;
13
14
  private generateGenerator;
14
15
  private generateModel;
16
+ private shouldGenerateAuxFields;
15
17
  private isPrismaAttribute;
18
+ private getUnsupportedFieldType;
16
19
  private generateModelField;
17
20
  private makeFieldAttribute;
18
21
  private makeAttributeArg;