zenstack 2.0.0-beta.2 → 2.0.0-beta.4
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 +2 -0
- package/language-server/validator/expression-validator.d.ts +1 -0
- package/language-server/validator/expression-validator.js +17 -3
- package/language-server/validator/expression-validator.js.map +1 -1
- package/package.json +4 -4
- package/utils/ast-utils.js +15 -7
- package/utils/ast-utils.js.map +1 -1
- package/utils/pkg-utils.d.ts +12 -0
- package/utils/pkg-utils.js +26 -1
- package/utils/pkg-utils.js.map +1 -1
package/README.md
CHANGED
|
@@ -235,6 +235,8 @@ Thank you for your support!
|
|
|
235
235
|
<td align="center"><a href="https://github.com/j0hannr"><img src="https://avatars.githubusercontent.com/u/52762073?v=4" width="100" style="border-radius:50%" alt="Johann Rohn"/><br />Johann Rohn</a></td>
|
|
236
236
|
|
|
237
237
|
<td align="center"><a href="https://github.com/baenie"><img src="https://avatars.githubusercontent.com/u/58309104?v=4" width="100" style="border-radius:50%" alt="Benjamin Zecirovic"/><br />Benjamin Zecirovic</a></td>
|
|
238
|
+
<td align="center"><a href="https://github.com/iamfj"><img src="https://avatars.githubusercontent.com/u/24557998?v=4" width="100" style="border-radius:50%" alt="Fabian Jocks"/><br />Fabian Jocks</a></td>
|
|
239
|
+
|
|
238
240
|
</tr>
|
|
239
241
|
</table>
|
|
240
242
|
|
|
@@ -7,6 +7,7 @@ import { AstValidator } from '../types';
|
|
|
7
7
|
export default class ExpressionValidator implements AstValidator<Expression> {
|
|
8
8
|
validate(expr: Expression, accept: ValidationAcceptor): void;
|
|
9
9
|
private validateBinaryExpr;
|
|
10
|
+
private validateCollectionPredicate;
|
|
10
11
|
private isInValidationContext;
|
|
11
12
|
private isNotModelFieldExpr;
|
|
12
13
|
private isAuthOrAuthMemberAccess;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const ast_1 = require("@zenstackhq/language/ast");
|
|
4
4
|
const sdk_1 = require("@zenstackhq/sdk");
|
|
5
|
+
const langium_1 = require("langium");
|
|
5
6
|
const ast_utils_1 = require("../../utils/ast-utils");
|
|
6
7
|
const utils_1 = require("./utils");
|
|
7
8
|
/**
|
|
@@ -16,9 +17,6 @@ class ExpressionValidator {
|
|
|
16
17
|
// check was done at link time
|
|
17
18
|
accept('error', 'auth() cannot be resolved because no model marked wth "@@auth()" or named "User" is found', { node: expr });
|
|
18
19
|
}
|
|
19
|
-
else if ((0, ast_utils_1.isCollectionPredicate)(expr)) {
|
|
20
|
-
accept('error', 'collection predicate can only be used on an array of model type', { node: expr });
|
|
21
|
-
}
|
|
22
20
|
else {
|
|
23
21
|
accept('error', 'expression cannot be resolved', {
|
|
24
22
|
node: expr,
|
|
@@ -173,6 +171,22 @@ class ExpressionValidator {
|
|
|
173
171
|
}
|
|
174
172
|
break;
|
|
175
173
|
}
|
|
174
|
+
case '?':
|
|
175
|
+
case '!':
|
|
176
|
+
case '^':
|
|
177
|
+
this.validateCollectionPredicate(expr, accept);
|
|
178
|
+
break;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
validateCollectionPredicate(expr, accept) {
|
|
182
|
+
if (!expr.$resolvedType) {
|
|
183
|
+
accept('error', 'collection predicate can only be used on an array of model type', { node: expr });
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
// TODO: revisit this when we implement lambda inside collection predicate
|
|
187
|
+
const thisExpr = (0, langium_1.streamAst)(expr).find(ast_1.isThisExpr);
|
|
188
|
+
if (thisExpr) {
|
|
189
|
+
accept('error', 'using `this` in collection predicate is not supported. To compare entity identity, use id field comparison instead.', { node: thisExpr });
|
|
176
190
|
}
|
|
177
191
|
}
|
|
178
192
|
isInValidationContext(node) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression-validator.js","sourceRoot":"","sources":["../../../src/language-server/validator/expression-validator.ts"],"names":[],"mappings":";;AAAA,kDAakC;AAClC,yCAAoG;
|
|
1
|
+
{"version":3,"file":"expression-validator.js","sourceRoot":"","sources":["../../../src/language-server/validator/expression-validator.ts"],"names":[],"mappings":";;AAAA,kDAakC;AAClC,yCAAoG;AACpG,qCAAwD;AACxD,qDAA0E;AAE1E,mCAAyC;AAEzC;;GAEG;AACH,MAAqB,mBAAmB;IACpC,QAAQ,CAAC,IAAgB,EAAE,MAA0B;;QACjD,iEAAiE;QACjE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,IAAI,IAAA,sBAAgB,EAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,8BAA8B;gBAC9B,MAAM,CACF,OAAO,EACP,2FAA2F,EAC3F,EAAE,IAAI,EAAE,IAAI,EAAE,CACjB,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,OAAO,EAAE,+BAA+B,EAAE;oBAC7C,IAAI,EAAE,IAAI;iBACb,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,IAAI,MAAK,aAAa,EAAE,CAAC;YAC7C,MAAM,CAAC,OAAO,EAAE,2DAA2D,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjG,CAAC;QAED,uCAAuC;QACvC,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,KAAK,YAAY;gBACb,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACtC,MAAM;QACd,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,IAAgB,EAAE,MAA0B;;QACnE,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpB,KAAK,IAAI,CAAC,CAAC,CAAC;gBACR,IAAI,OAAO,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,aAAa,0CAAE,IAAI,CAAA,KAAK,QAAQ,IAAI,CAAC,IAAA,YAAM,EAAC,MAAA,IAAI,CAAC,IAAI,CAAC,aAAa,0CAAE,IAAI,CAAC,EAAE,CAAC;oBAC9F,MAAM,CAAC,OAAO,EAAE,6CAA6C,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACxF,CAAC;gBAED,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,aAAa,0CAAE,KAAK,CAAA,EAAE,CAAC;oBACnC,MAAM,CAAC,OAAO,EAAE,wCAAwC,EAAE;wBACtD,IAAI,EAAE,IAAI,CAAC,KAAK;qBACnB,CAAC,CAAC;gBACP,CAAC;gBACD,MAAM;YACV,CAAC;YAED,KAAK,GAAG,CAAC;YACT,KAAK,IAAI,CAAC;YACV,KAAK,GAAG,CAAC;YACT,KAAK,IAAI,CAAC;YACV,KAAK,IAAI,CAAC;YACV,KAAK,IAAI,CAAC,CAAC,CAAC;gBACR,IAAI,MAAA,IAAI,CAAC,IAAI,CAAC,aAAa,0CAAE,KAAK,EAAE,CAAC;oBACjC,MAAM,CAAC,OAAO,EAAE,4BAA4B,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACnE,MAAM;gBACV,CAAC;gBAED,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,aAAa,0CAAE,KAAK,EAAE,CAAC;oBAClC,MAAM,CAAC,OAAO,EAAE,4BAA4B,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;oBACpE,MAAM;gBACV,CAAC;gBAED,IAAI,eAAiC,CAAC;gBACtC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACjD,eAAe,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACJ,eAAe,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBACzC,CAAC;gBAED,IACI,OAAO,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,aAAa,0CAAE,IAAI,CAAA,KAAK,QAAQ;oBACjD,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EACzD,CAAC;oBACC,MAAM,CAAC,OAAO,EAAE,6BAA6B,IAAI,CAAC,QAAQ,YAAY,EAAE;wBACpE,IAAI,EAAE,IAAI,CAAC,IAAI;qBAClB,CAAC,CAAC;oBACH,OAAO;gBACX,CAAC;gBACD,IACI,OAAO,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,aAAa,0CAAE,IAAI,CAAA,KAAK,QAAQ;oBAClD,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAC1D,CAAC;oBACC,MAAM,CAAC,OAAO,EAAE,6BAA6B,IAAI,CAAC,QAAQ,YAAY,EAAE;wBACpE,IAAI,EAAE,IAAI,CAAC,KAAK;qBACnB,CAAC,CAAC;oBACH,OAAO;gBACX,CAAC;gBAED,kEAAkE;gBAClE,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC9F,MAAM,CAAC,OAAO,EAAE,4BAA4B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClE,CAAC;qBAAM,IACH,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,UAAU;oBAC5C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,UAAU,EAC7C,CAAC;oBACC,MAAM,CAAC,OAAO,EAAE,4BAA4B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClE,CAAC;gBAED,MAAM;YACV,CAAC;YAED,KAAK,IAAI,CAAC;YACV,KAAK,IAAI,CAAC,CAAC,CAAC;gBACR,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnC,qEAAqE;oBACrE,mCAAmC;oBACnC,IACI,CAAC,IAAA,+BAAyB,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAA,gBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAChE,CAAC,IAAA,+BAAyB,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAA,gBAAU,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAClE,CAAC;wBACC,OAAO;oBACX,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,aAAa,0CAAE,KAAK,CAAA,KAAK,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,aAAa,0CAAE,KAAK,CAAA,EAAE,CAAC;oBACzE,MAAM,CAAC,OAAO,EAAE,4BAA4B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC9D,MAAM;gBACV,CAAC;gBACD,iBAAiB;gBACjB,mBAAmB;gBACnB,4BAA4B;gBAC5B,UAAU;gBACV,gCAAgC;gBAChC,IACI,CAAC,IAAA,wBAAkB,EAAC,IAAI,CAAC,IAAI,CAAC;oBAC1B,IAAA,sBAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;oBACtC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,IAAI,IAAA,kCAAsB,EAAC,IAAI,CAAC,CAAC;oBACpE,CAAC,IAAA,wBAAkB,EAAC,IAAI,CAAC,KAAK,CAAC;wBAC3B,IAAA,sBAAgB,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;wBACvC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,IAAI,IAAA,kCAAsB,EAAC,IAAI,CAAC,CAAC,EACvE,CAAC;oBACC,2BAA2B;oBAC3B,uBAAuB;oBACvB,sBAAsB;oBACtB,2BAA2B;oBAC3B,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;wBACjF,MAAM,CAAC,OAAO,EAAE,iEAAiE,EAAE;4BAC/E,IAAI,EAAE,IAAI;yBACb,CAAC,CAAC;wBACH,MAAM;oBACV,CAAC;gBACL,CAAC;gBAED,IACI,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,aAAa,0CAAE,QAAQ,KAAI,IAAA,gBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC7D,CAAC,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,aAAa,0CAAE,QAAQ,KAAI,IAAA,gBAAU,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAC/D,CAAC;oBACC,qCAAqC;oBACrC,OAAO;gBACX,CAAC;gBAED,IACI,OAAO,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,aAAa,0CAAE,IAAI,CAAA,KAAK,QAAQ;oBACjD,OAAO,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,aAAa,0CAAE,IAAI,CAAA,KAAK,QAAQ,EACpD,CAAC;oBACC,6BAA6B;oBAC7B,IACI,CAAC,IAAA,sBAAc,EAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC;wBAC5E,CAAC,IAAA,sBAAc,EAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAC9E,CAAC;wBACC,MAAM,CAAC,OAAO,EAAE,4BAA4B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBAClE,CAAC;oBACD,OAAO;gBACX,CAAC;gBAED,uEAAuE;gBACvE,2BAA2B;gBAC3B,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,aAAa,0CAAE,IAAI,CAAC;gBAC/C,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,aAAa,0CAAE,IAAI,CAAC;gBACjD,IAAI,IAAA,iBAAW,EAAC,QAAQ,CAAC,IAAI,IAAA,iBAAW,EAAC,SAAS,CAAC,EAAE,CAAC;oBAClD,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;wBACxB,2BAA2B;wBAC3B,0BAA0B;wBAC1B,MAAM,CAAC,OAAO,EAAE,4BAA4B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBAClE,CAAC;oBAED,iBAAiB;oBACjB,iBAAiB;oBACjB,kBAAkB;oBAClB,IACI,IAAA,+BAAyB,EAAC,IAAI,CAAC,IAAI,CAAC;wBACpC,CAAC,IAAA,gBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAA,+BAAyB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EACnE,CAAC;wBACC,MAAM,CAAC,OAAO,EAAE,yDAAyD,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC/F,CAAC;yBAAM,IACH,IAAA,+BAAyB,EAAC,IAAI,CAAC,KAAK,CAAC;wBACrC,CAAC,IAAA,gBAAU,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAA,+BAAyB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EACjE,CAAC;wBACC,MAAM,CAAC,OAAO,EAAE,yDAAyD,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC/F,CAAC;gBACL,CAAC;qBAAM,IACH,CAAC,IAAA,iBAAW,EAAC,QAAQ,CAAC,IAAI,CAAC,IAAA,gBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAClD,CAAC,IAAA,iBAAW,EAAC,SAAS,CAAC,IAAI,CAAC,IAAA,gBAAU,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EACpD,CAAC;oBACC,+CAA+C;oBAC/C,MAAM,CAAC,OAAO,EAAE,4BAA4B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClE,CAAC;gBACD,MAAM;YACV,CAAC;YAED,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACJ,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC/C,MAAM;QACd,CAAC;IACL,CAAC;IAEO,2BAA2B,CAAC,IAAgB,EAAE,MAA0B;QAC5E,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,CAAC,OAAO,EAAE,iEAAiE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACnG,OAAO;QACX,CAAC;QAED,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,IAAA,mBAAS,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAU,CAAC,CAAC;QAClD,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,CACF,OAAO,EACP,qHAAqH,EACrH,EAAE,IAAI,EAAE,QAAQ,EAAE,CACrB,CAAC;QACN,CAAC;IACL,CAAC;IAEO,qBAAqB,CAAC,IAAa;QACvC,OAAO,IAAA,qBAAS,EAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0BAAoB,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC;IAC/F,CAAC;IAEO,mBAAmB,CAAC,IAAgB;QACxC,OAAO,CACH,IAAA,mBAAa,EAAC,IAAI,CAAC,IAAI,IAAA,0BAAoB,EAAC,IAAI,CAAC,IAAI,IAAA,gBAAU,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAC/G,CAAC;IACN,CAAC;IAEO,wBAAwB,CAAC,IAAgB;QAC7C,OAAO,IAAA,sBAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,IAAA,wBAAkB,EAAC,IAAI,CAAC,IAAI,IAAA,sBAAgB,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAClG,CAAC;CACJ;AA7OD,sCA6OC"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publisher": "zenstack",
|
|
4
4
|
"displayName": "ZenStack Language Tools",
|
|
5
5
|
"description": "Build scalable web apps with minimum code by defining authorization and validation rules inside the data schema that closer to the database",
|
|
6
|
-
"version": "2.0.0-beta.
|
|
6
|
+
"version": "2.0.0-beta.4",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "ZenStack Team"
|
|
9
9
|
},
|
|
@@ -94,8 +94,8 @@
|
|
|
94
94
|
"vscode-uri": "^3.0.6",
|
|
95
95
|
"zod": "^3.22.4",
|
|
96
96
|
"zod-validation-error": "^1.5.0",
|
|
97
|
-
"@zenstackhq/language": "2.0.0-beta.
|
|
98
|
-
"@zenstackhq/sdk": "2.0.0-beta.
|
|
97
|
+
"@zenstackhq/language": "2.0.0-beta.4",
|
|
98
|
+
"@zenstackhq/sdk": "2.0.0-beta.4"
|
|
99
99
|
},
|
|
100
100
|
"devDependencies": {
|
|
101
101
|
"@prisma/client": "^5.7.1",
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
"tmp": "^0.2.1",
|
|
115
115
|
"tsc-alias": "^1.7.0",
|
|
116
116
|
"vitest": "^0.29.7",
|
|
117
|
-
"@zenstackhq/runtime": "2.0.0-beta.
|
|
117
|
+
"@zenstackhq/runtime": "2.0.0-beta.4"
|
|
118
118
|
},
|
|
119
119
|
"scripts": {
|
|
120
120
|
"vscode:publish": "vsce publish --no-dependencies",
|
package/utils/ast-utils.js
CHANGED
|
@@ -4,7 +4,9 @@ exports.findUpAst = exports.getRecursiveBases = exports.getModelFieldsWithBases
|
|
|
4
4
|
const ast_1 = require("@zenstackhq/language/ast");
|
|
5
5
|
const sdk_1 = require("@zenstackhq/sdk");
|
|
6
6
|
const langium_1 = require("langium");
|
|
7
|
+
const node_path_1 = require("node:path");
|
|
7
8
|
const vscode_uri_1 = require("vscode-uri");
|
|
9
|
+
const pkg_utils_1 = require("./pkg-utils");
|
|
8
10
|
function extractDataModelsWithAllowRules(model) {
|
|
9
11
|
return model.declarations.filter((d) => (0, ast_1.isDataModel)(d) && d.attributes.some((attr) => { var _a; return ((_a = attr.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === '@@allow'; }));
|
|
10
12
|
}
|
|
@@ -29,6 +31,8 @@ function mergeBaseModel(model, linker) {
|
|
|
29
31
|
.filter((attr) => !attr.$inheritedFrom)
|
|
30
32
|
// don't inherit `@@delegate` attribute
|
|
31
33
|
.filter((attr) => attr.decl.$refText !== '@@delegate')
|
|
34
|
+
// don't inherit `@@map` attribute
|
|
35
|
+
.filter((attr) => attr.decl.$refText !== '@@map')
|
|
32
36
|
.map((attr) => cloneAst(attr, dataModel, buildReference))
|
|
33
37
|
.concat(dataModel.attributes);
|
|
34
38
|
}
|
|
@@ -94,15 +98,19 @@ function getDataModelFieldReference(expr) {
|
|
|
94
98
|
}
|
|
95
99
|
exports.getDataModelFieldReference = getDataModelFieldReference;
|
|
96
100
|
function resolveImportUri(imp) {
|
|
97
|
-
|
|
98
|
-
|
|
101
|
+
var _a;
|
|
102
|
+
if (!imp.path)
|
|
103
|
+
return undefined; // This will return true if imp.path is undefined, null, or an empty string ("").
|
|
104
|
+
if (!imp.path.endsWith('.zmodel')) {
|
|
105
|
+
imp.path += '.zmodel';
|
|
99
106
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
107
|
+
if (!imp.path.startsWith('.') && // Respect relative paths
|
|
108
|
+
!(0, node_path_1.isAbsolute)(imp.path) // Respect Absolute paths
|
|
109
|
+
) {
|
|
110
|
+
imp.path = (_a = (0, pkg_utils_1.findNodeModulesFile)(imp.path)) !== null && _a !== void 0 ? _a : imp.path;
|
|
104
111
|
}
|
|
105
|
-
|
|
112
|
+
const dirUri = vscode_uri_1.Utils.dirname((0, langium_1.getDocument)(imp).uri);
|
|
113
|
+
return vscode_uri_1.Utils.resolvePath(dirUri, imp.path);
|
|
106
114
|
}
|
|
107
115
|
exports.resolveImportUri = resolveImportUri;
|
|
108
116
|
function resolveTransitiveImports(documents, model) {
|
package/utils/ast-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-utils.js","sourceRoot":"","sources":["../../src/utils/ast-utils.ts"],"names":[],"mappings":";;;AAAA,kDAiBkC;AAClC,yCAAgE;AAChE,qCAUiB;AACjB,2CAAwC;
|
|
1
|
+
{"version":3,"file":"ast-utils.js","sourceRoot":"","sources":["../../src/utils/ast-utils.ts"],"names":[],"mappings":"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"}
|
package/utils/pkg-utils.d.ts
CHANGED
|
@@ -23,6 +23,18 @@ export type FindUp<e extends boolean> = e extends true ? string[] | undefined :
|
|
|
23
23
|
* @returns Path(s) to a specific file or folder within the directory or parent directories
|
|
24
24
|
*/
|
|
25
25
|
export declare function findUp<e extends boolean = false>(names: string[], cwd?: string, multiple?: e, result?: string[]): FindUp<e>;
|
|
26
|
+
/**
|
|
27
|
+
* Find a Node module/file given its name in a specific directory, with a fallback to the current working directory.
|
|
28
|
+
* If the name is empty, return undefined.
|
|
29
|
+
* Try to resolve the module/file using require.resolve with the specified directory as the starting point.
|
|
30
|
+
* Return the resolved path if successful, otherwise return undefined.
|
|
31
|
+
*
|
|
32
|
+
* @export
|
|
33
|
+
* @param {string} name The name of the module/file to find
|
|
34
|
+
* @param {string} [cwd=process.cwd()]
|
|
35
|
+
* @returns {*} Finds a specified module or file using require.resolve starting from a specified directory path, or the current working directory if not provided.
|
|
36
|
+
*/
|
|
37
|
+
export declare function findNodeModulesFile(name: string, cwd?: string): string | undefined;
|
|
26
38
|
export declare function getPackageManager(searchStartPath?: string): {
|
|
27
39
|
packageManager: string;
|
|
28
40
|
lockFile: undefined;
|
package/utils/pkg-utils.js
CHANGED
|
@@ -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.getPackageJson = exports.findPackageJson = exports.ensurePackage = exports.installPackage = exports.getPackageManager = exports.findUp = void 0;
|
|
6
|
+
exports.getPackageJson = exports.findPackageJson = exports.ensurePackage = exports.installPackage = exports.getPackageManager = exports.findNodeModulesFile = exports.findUp = void 0;
|
|
7
7
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
9
|
const exec_utils_1 = require("./exec-utils");
|
|
@@ -36,6 +36,31 @@ function findUp(names, cwd = process.cwd(), multiple = false, result = []) {
|
|
|
36
36
|
return findUp(names, up, multiple, result);
|
|
37
37
|
}
|
|
38
38
|
exports.findUp = findUp;
|
|
39
|
+
/**
|
|
40
|
+
* Find a Node module/file given its name in a specific directory, with a fallback to the current working directory.
|
|
41
|
+
* If the name is empty, return undefined.
|
|
42
|
+
* Try to resolve the module/file using require.resolve with the specified directory as the starting point.
|
|
43
|
+
* Return the resolved path if successful, otherwise return undefined.
|
|
44
|
+
*
|
|
45
|
+
* @export
|
|
46
|
+
* @param {string} name The name of the module/file to find
|
|
47
|
+
* @param {string} [cwd=process.cwd()]
|
|
48
|
+
* @returns {*} Finds a specified module or file using require.resolve starting from a specified directory path, or the current working directory if not provided.
|
|
49
|
+
*/
|
|
50
|
+
function findNodeModulesFile(name, cwd = process.cwd()) {
|
|
51
|
+
if (!name)
|
|
52
|
+
return undefined;
|
|
53
|
+
try {
|
|
54
|
+
// Use require.resolve to find the module/file. The paths option allows specifying the directory to start from.
|
|
55
|
+
const resolvedPath = require.resolve(name, { paths: [cwd] });
|
|
56
|
+
return resolvedPath;
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
// If require.resolve fails to find the module/file, it will throw an error.
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.findNodeModulesFile = findNodeModulesFile;
|
|
39
64
|
function getPackageManager(searchStartPath = '.') {
|
|
40
65
|
const lockFile = findUp(['yarn.lock', 'pnpm-lock.yaml', 'package-lock.json'], searchStartPath);
|
|
41
66
|
if (!lockFile) {
|
package/utils/pkg-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pkg-utils.js","sourceRoot":"","sources":["../../src/utils/pkg-utils.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,0DAA6B;AAC7B,6CAAwC;AACxC,2CAAmC;AAanC;;;;;;;;;;;;;GAaG;AACH,SAAgB,MAAM,CAA4B,KAAe,EAAE,MAAc,OAAO,CAAC,GAAG,EAAE,EAAE,WAAc,KAAU,EAAE,SAAmB,EAAE;IAC3I,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACpD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAE,CAAC,UAAU,CAAC,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACzE,IAAI,QAAQ,IAAI,KAAK,IAAI,MAAM;QAAE,OAAO,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAc,CAAC;IAC5E,IAAI,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,mBAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACnC,IAAI,EAAE,KAAK,GAAG;QAAE,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAc,CAAC,CAAC,oBAAoB;IAC9G,OAAO,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AARD,wBAQC;AAED,SAAgB,iBAAiB,CAAC,eAAe,GAAG,GAAG;IACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,WAAW,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAAE,eAAe,CAAC,CAAC;IAE/F,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,kBAAkB;QAClB,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IACxF,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,kBAAK,EAAC,mBAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAChD,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC;SAC/B,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC;SACpC,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAE5B,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC7E,CAAC;AAdD,8CAcC;AAED,SAAgB,cAAc,CAC1B,GAAW,EACX,GAAY,EACZ,aAA0C,SAAS,EACnD,GAAG,GAAG,QAAQ,EACd,WAAW,GAAG,GAAG,EACjB,YAAY,GAAG,IAAI;IAEnB,MAAM,OAAO,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,IAAI,GAAG,UAAU,OAAO,EAAE,CAAC,CAAC;IAClE,QAAQ,OAAO,EAAE,CAAC;QACd,KAAK,MAAM;YACP,IAAA,qBAAQ,EACJ,eAAe,WAAW,SAAS,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1G,CAAC;YACF,MAAM;QAEV,KAAK,MAAM;YACP,IAAA,qBAAQ,EACJ,gBAAgB,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IAC9D,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAC1B,IAAI,GAAG,IAAI,GAAG,EAAE,CACnB,CAAC;YACF,MAAM;QAEV;YACI,IAAA,qBAAQ,EACJ,yBAAyB,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IACvE,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAC1B,IAAI,GAAG,IAAI,GAAG,EAAE,CACnB,CAAC;YACF,MAAM;IACd,CAAC;AACL,CAAC;AAjCD,wCAiCC;AAED,SAAgB,aAAa,CACzB,GAAW,EACX,GAAY,EACZ,aAA0C,SAAS,EACnD,GAAG,GAAG,QAAQ,EACd,WAAW,GAAG,GAAG,EACjB,YAAY,GAAG,KAAK;IAEpB,MAAM,WAAW,GAAG,mBAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IACzE,CAAC;AACL,CAAC;AAdD,sCAcC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,UAAmB;IAC/C,IAAI,OAAO,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1C,OAAO,OAAO,EAAE,CAAC;QACb,MAAM,WAAW,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACvD,IAAI,iBAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,OAAO,WAAW,CAAC;QACvB,CAAC;QACD,MAAM,EAAE,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,GAAG,EAAE,CAAC;IACjB,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAdD,0CAcC;AAED,SAAgB,cAAc,CAAC,UAAmB;IAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,cAAc,CAAC,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1E,IAAI,WAAW,EAAE,CAAC;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACJ,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AAPD,wCAOC"}
|
|
1
|
+
{"version":3,"file":"pkg-utils.js","sourceRoot":"","sources":["../../src/utils/pkg-utils.ts"],"names":[],"mappings":"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"}
|