zenstack 1.0.0-alpha.23 → 1.0.0-alpha.24

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 (84) hide show
  1. package/README.md +79 -9
  2. package/cli/cli-error.js +3 -5
  3. package/cli/cli-error.js.map +1 -1
  4. package/cli/cli-util.js +123 -105
  5. package/cli/cli-util.js.map +1 -1
  6. package/cli/index.js +105 -63
  7. package/cli/index.js.map +1 -1
  8. package/cli/plugin-runner.js +130 -127
  9. package/cli/plugin-runner.js.map +1 -1
  10. package/language-server/constants.js +5 -13
  11. package/language-server/constants.js.map +1 -1
  12. package/language-server/main.js +8 -15
  13. package/language-server/main.js.map +1 -1
  14. package/language-server/types.js +3 -1
  15. package/language-server/types.js.map +1 -1
  16. package/language-server/utils.js +13 -16
  17. package/language-server/utils.js.map +1 -1
  18. package/language-server/validator/attribute-validator.js +3 -7
  19. package/language-server/validator/attribute-validator.js.map +1 -1
  20. package/language-server/validator/datamodel-validator.js +293 -347
  21. package/language-server/validator/datamodel-validator.js.map +1 -1
  22. package/language-server/validator/datasource-validator.js +61 -71
  23. package/language-server/validator/datasource-validator.js.map +1 -1
  24. package/language-server/validator/enum-validator.js +6 -10
  25. package/language-server/validator/enum-validator.js.map +1 -1
  26. package/language-server/validator/expression-validator.js +25 -31
  27. package/language-server/validator/expression-validator.js.map +1 -1
  28. package/language-server/validator/schema-validator.js +18 -25
  29. package/language-server/validator/schema-validator.js.map +1 -1
  30. package/language-server/validator/utils.js +86 -85
  31. package/language-server/validator/utils.js.map +1 -1
  32. package/language-server/validator/zmodel-validator.js +55 -58
  33. package/language-server/validator/zmodel-validator.js.map +1 -1
  34. package/language-server/zmodel-formatter.js +40 -21
  35. package/language-server/zmodel-formatter.js.map +1 -1
  36. package/language-server/zmodel-linker.js +328 -331
  37. package/language-server/zmodel-linker.js.map +1 -1
  38. package/language-server/zmodel-module.js +50 -59
  39. package/language-server/zmodel-module.js.map +1 -1
  40. package/language-server/zmodel-scope.js +35 -25
  41. package/language-server/zmodel-scope.js.map +1 -1
  42. package/language-server/zmodel-workspace-manager.js +30 -18
  43. package/language-server/zmodel-workspace-manager.js.map +1 -1
  44. package/package.json +8 -12
  45. package/plugins/access-policy/expression-writer.js +301 -292
  46. package/plugins/access-policy/expression-writer.js.map +1 -1
  47. package/plugins/access-policy/index.js +20 -11
  48. package/plugins/access-policy/index.js.map +1 -1
  49. package/plugins/access-policy/policy-guard-generator.js +327 -321
  50. package/plugins/access-policy/policy-guard-generator.js.map +1 -1
  51. package/plugins/access-policy/typescript-expression-transformer.js +94 -95
  52. package/plugins/access-policy/typescript-expression-transformer.js.map +1 -1
  53. package/plugins/access-policy/utils.js +7 -9
  54. package/plugins/access-policy/utils.js.map +1 -1
  55. package/plugins/access-policy/zod-schema-generator.js +143 -159
  56. package/plugins/access-policy/zod-schema-generator.js.map +1 -1
  57. package/plugins/model-meta/index.js +97 -102
  58. package/plugins/model-meta/index.js.map +1 -1
  59. package/plugins/plugin-utils.js +34 -40
  60. package/plugins/plugin-utils.js.map +1 -1
  61. package/plugins/prisma/indent-string.js +4 -8
  62. package/plugins/prisma/indent-string.js.map +1 -1
  63. package/plugins/prisma/index.js +20 -11
  64. package/plugins/prisma/index.js.map +1 -1
  65. package/plugins/prisma/prisma-builder.js +235 -213
  66. package/plugins/prisma/prisma-builder.js.map +1 -1
  67. package/plugins/prisma/schema-generator.js +205 -192
  68. package/plugins/prisma/schema-generator.js.map +1 -1
  69. package/plugins/prisma/zmodel-code-generator.js +109 -114
  70. package/plugins/prisma/zmodel-code-generator.js.map +1 -1
  71. package/telemetry.js +107 -90
  72. package/telemetry.js.map +1 -1
  73. package/types.js +3 -1
  74. package/types.js.map +1 -1
  75. package/utils/ast-utils.js +67 -67
  76. package/utils/ast-utils.js.map +1 -1
  77. package/utils/exec-utils.js +6 -15
  78. package/utils/exec-utils.js.map +1 -1
  79. package/utils/pkg-utils.js +38 -35
  80. package/utils/pkg-utils.js.map +1 -1
  81. package/utils/version-utils.js +9 -10
  82. package/utils/version-utils.js.map +1 -1
  83. package/global.d.js +0 -1
  84. package/global.d.js.map +0 -1
@@ -1,119 +1,114 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _ast = require("@zenstackhq/language/ast");
8
- var _sdk = require("@zenstackhq/sdk");
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const ast_1 = require("@zenstackhq/language/ast");
4
+ const sdk_1 = require("@zenstackhq/sdk");
9
5
  class ZModelCodeGenerator {
10
- constructor(options) {
11
- this.options = {
12
- binaryExprNumberOfSpaces: (options === null || options === void 0 ? void 0 : options.binaryExprNumberOfSpaces) ?? 1,
13
- unaryExprNumberOfSpaces: (options === null || options === void 0 ? void 0 : options.unaryExprNumberOfSpaces) ?? 0
14
- };
15
- }
16
- generateAttribute(ast) {
17
- const args = ast.args.length ? `(${ast.args.map(x => this.generateAttributeArg(x)).join(', ')})` : '';
18
- return `${(0, _sdk.resolved)(ast.decl).name}${args}`;
19
- }
20
- generateAttributeArg(ast) {
21
- if (ast.name) {
22
- return `${ast.name}: ${this.generateExpression(ast.value)}`;
23
- } else {
24
- return this.generateExpression(ast.value);
25
- }
26
- }
27
- generateExpression(ast) {
28
- switch (ast.$type) {
29
- case _ast.LiteralExpr:
30
- return this.generateLiteralExpr(ast);
31
- case _ast.UnaryExpr:
32
- return this.generateUnaryExpr(ast);
33
- case _ast.ArrayExpr:
34
- return this.generateArrayExpr(ast);
35
- case _ast.BinaryExpr:
36
- return this.generateBinaryExpr(ast);
37
- case _ast.ReferenceExpr:
38
- return this.generateReferenceExpr(ast);
39
- case _ast.MemberAccessExpr:
40
- return this.generateMemberExpr(ast);
41
- case _ast.InvocationExpr:
42
- return this.generateInvocationExpr(ast);
43
- case _ast.NullExpr:
44
- case _ast.ThisExpr:
45
- return ast.value;
46
- default:
47
- throw new Error(`Not implemented: ${ast}`);
48
- }
49
- }
50
- generateArrayExpr(ast) {
51
- return `[${ast.items.map(item => this.generateExpression(item)).join(', ')}]`;
52
- }
53
- generateLiteralExpr(ast) {
54
- return typeof ast.value === 'string' ? `'${ast.value}'` : ast.value.toString();
55
- }
56
- generateUnaryExpr(ast) {
57
- return `${ast.operator}${this.unaryExprSpace}${this.generateExpression(ast.operand)}`;
58
- }
59
- generateBinaryExpr(ast) {
60
- const operator = ast.operator;
61
- const isCollectionPredicate = this.isCollectionPredicateOperator(operator);
62
- const rightExpr = this.generateExpression(ast.right);
63
- const {
64
- left: isLeftParenthesis,
65
- right: isRightParenthesis
66
- } = this.isParenthesesNeededForBinaryExpr(ast);
67
- return `${isLeftParenthesis ? '(' : ''}${this.generateExpression(ast.left)}${isLeftParenthesis ? ')' : ''}${this.binaryExprSpace}${operator}${this.binaryExprSpace}${isRightParenthesis ? '(' : ''}${isCollectionPredicate ? `[${rightExpr}]` : rightExpr}${isRightParenthesis ? ')' : ''}`;
68
- }
69
- generateReferenceExpr(ast) {
70
- var _ast$target$ref;
71
- const args = ast.args.length ? `(${ast.args.map(x => this.generateReferenceArg(x)).join(', ')})` : '';
72
- return `${(_ast$target$ref = ast.target.ref) === null || _ast$target$ref === void 0 ? void 0 : _ast$target$ref.name}${args}`;
73
- }
74
- generateReferenceArg(ast) {
75
- return `${ast.name}:${ast.value}`;
76
- }
77
- generateMemberExpr(ast) {
78
- var _ast$member$ref;
79
- return `${this.generateExpression(ast.operand)}.${(_ast$member$ref = ast.member.ref) === null || _ast$member$ref === void 0 ? void 0 : _ast$member$ref.name}`;
80
- }
81
- generateInvocationExpr(ast) {
82
- var _ast$function$ref;
83
- return `${(_ast$function$ref = ast.function.ref) === null || _ast$function$ref === void 0 ? void 0 : _ast$function$ref.name}(${ast.args.map(x => this.generateArgument(x)).join(', ')})`;
84
- }
85
- generateArgument(ast) {
86
- return `${ast.name && ':'} ${this.generateExpression(ast.value)}`;
87
- }
88
- get binaryExprSpace() {
89
- return ' '.repeat(this.options.binaryExprNumberOfSpaces);
90
- }
91
- get unaryExprSpace() {
92
- return ' '.repeat(this.options.unaryExprNumberOfSpaces);
93
- }
94
- isParenthesesNeededForBinaryExpr(ast) {
95
- const result = {
96
- left: false,
97
- right: false
98
- };
99
- const operator = ast.operator;
100
- const isCollectionPredicate = this.isCollectionPredicateOperator(operator);
101
- const currentPriority = _ast.BinaryExprOperatorPriority[operator];
102
- if (ast.left.$type === _ast.BinaryExpr && _ast.BinaryExprOperatorPriority[ast.left['operator']] < currentPriority) {
103
- result.left = true;
104
- }
105
- /**
106
- * 1 collection predicate operator has [] around the right operand, no need to add parenthesis.
107
- * 2 grammar is left associative, so if the right operand has the same priority still need to add parenthesis.
108
- **/
109
- if (!isCollectionPredicate && ast.right.$type === _ast.BinaryExpr && _ast.BinaryExprOperatorPriority[ast.right['operator']] <= currentPriority) {
110
- result.right = true;
111
- }
112
- return result;
113
- }
114
- isCollectionPredicateOperator(op) {
115
- return ['?', '!', '^'].includes(op);
116
- }
6
+ constructor(options) {
7
+ var _a, _b;
8
+ this.options = {
9
+ binaryExprNumberOfSpaces: (_a = options === null || options === void 0 ? void 0 : options.binaryExprNumberOfSpaces) !== null && _a !== void 0 ? _a : 1,
10
+ unaryExprNumberOfSpaces: (_b = options === null || options === void 0 ? void 0 : options.unaryExprNumberOfSpaces) !== null && _b !== void 0 ? _b : 0,
11
+ };
12
+ }
13
+ generateAttribute(ast) {
14
+ const args = ast.args.length ? `(${ast.args.map((x) => this.generateAttributeArg(x)).join(', ')})` : '';
15
+ return `${(0, sdk_1.resolved)(ast.decl).name}${args}`;
16
+ }
17
+ generateAttributeArg(ast) {
18
+ if (ast.name) {
19
+ return `${ast.name}: ${this.generateExpression(ast.value)}`;
20
+ }
21
+ else {
22
+ return this.generateExpression(ast.value);
23
+ }
24
+ }
25
+ generateExpression(ast) {
26
+ switch (ast.$type) {
27
+ case ast_1.LiteralExpr:
28
+ return this.generateLiteralExpr(ast);
29
+ case ast_1.UnaryExpr:
30
+ return this.generateUnaryExpr(ast);
31
+ case ast_1.ArrayExpr:
32
+ return this.generateArrayExpr(ast);
33
+ case ast_1.BinaryExpr:
34
+ return this.generateBinaryExpr(ast);
35
+ case ast_1.ReferenceExpr:
36
+ return this.generateReferenceExpr(ast);
37
+ case ast_1.MemberAccessExpr:
38
+ return this.generateMemberExpr(ast);
39
+ case ast_1.InvocationExpr:
40
+ return this.generateInvocationExpr(ast);
41
+ case ast_1.NullExpr:
42
+ case ast_1.ThisExpr:
43
+ return ast.value;
44
+ default:
45
+ throw new Error(`Not implemented: ${ast}`);
46
+ }
47
+ }
48
+ generateArrayExpr(ast) {
49
+ return `[${ast.items.map((item) => this.generateExpression(item)).join(', ')}]`;
50
+ }
51
+ generateLiteralExpr(ast) {
52
+ return typeof ast.value === 'string' ? `'${ast.value}'` : ast.value.toString();
53
+ }
54
+ generateUnaryExpr(ast) {
55
+ return `${ast.operator}${this.unaryExprSpace}${this.generateExpression(ast.operand)}`;
56
+ }
57
+ generateBinaryExpr(ast) {
58
+ const operator = ast.operator;
59
+ const isCollectionPredicate = this.isCollectionPredicateOperator(operator);
60
+ const rightExpr = this.generateExpression(ast.right);
61
+ const { left: isLeftParenthesis, right: isRightParenthesis } = this.isParenthesesNeededForBinaryExpr(ast);
62
+ return `${isLeftParenthesis ? '(' : ''}${this.generateExpression(ast.left)}${isLeftParenthesis ? ')' : ''}${this.binaryExprSpace}${operator}${this.binaryExprSpace}${isRightParenthesis ? '(' : ''}${isCollectionPredicate ? `[${rightExpr}]` : rightExpr}${isRightParenthesis ? ')' : ''}`;
63
+ }
64
+ generateReferenceExpr(ast) {
65
+ var _a;
66
+ const args = ast.args.length ? `(${ast.args.map((x) => this.generateReferenceArg(x)).join(', ')})` : '';
67
+ return `${(_a = ast.target.ref) === null || _a === void 0 ? void 0 : _a.name}${args}`;
68
+ }
69
+ generateReferenceArg(ast) {
70
+ return `${ast.name}:${ast.value}`;
71
+ }
72
+ generateMemberExpr(ast) {
73
+ var _a;
74
+ return `${this.generateExpression(ast.operand)}.${(_a = ast.member.ref) === null || _a === void 0 ? void 0 : _a.name}`;
75
+ }
76
+ generateInvocationExpr(ast) {
77
+ var _a;
78
+ return `${(_a = ast.function.ref) === null || _a === void 0 ? void 0 : _a.name}(${ast.args.map((x) => this.generateArgument(x)).join(', ')})`;
79
+ }
80
+ generateArgument(ast) {
81
+ return `${ast.name && ':'} ${this.generateExpression(ast.value)}`;
82
+ }
83
+ get binaryExprSpace() {
84
+ return ' '.repeat(this.options.binaryExprNumberOfSpaces);
85
+ }
86
+ get unaryExprSpace() {
87
+ return ' '.repeat(this.options.unaryExprNumberOfSpaces);
88
+ }
89
+ isParenthesesNeededForBinaryExpr(ast) {
90
+ const result = { left: false, right: false };
91
+ const operator = ast.operator;
92
+ const isCollectionPredicate = this.isCollectionPredicateOperator(operator);
93
+ const currentPriority = ast_1.BinaryExprOperatorPriority[operator];
94
+ if (ast.left.$type === ast_1.BinaryExpr &&
95
+ ast_1.BinaryExprOperatorPriority[ast.left['operator']] < currentPriority) {
96
+ result.left = true;
97
+ }
98
+ /**
99
+ * 1 collection predicate operator has [] around the right operand, no need to add parenthesis.
100
+ * 2 grammar is left associative, so if the right operand has the same priority still need to add parenthesis.
101
+ **/
102
+ if (!isCollectionPredicate &&
103
+ ast.right.$type === ast_1.BinaryExpr &&
104
+ ast_1.BinaryExprOperatorPriority[ast.right['operator']] <= currentPriority) {
105
+ result.right = true;
106
+ }
107
+ return result;
108
+ }
109
+ isCollectionPredicateOperator(op) {
110
+ return ['?', '!', '^'].includes(op);
111
+ }
117
112
  }
118
113
  exports.default = ZModelCodeGenerator;
119
114
  //# sourceMappingURL=zmodel-code-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zmodel-code-generator.js","names":["ZModelCodeGenerator","constructor","options","binaryExprNumberOfSpaces","unaryExprNumberOfSpaces","generateAttribute","ast","args","length","map","x","generateAttributeArg","join","resolved","decl","name","generateExpression","value","$type","LiteralExpr","generateLiteralExpr","UnaryExpr","generateUnaryExpr","ArrayExpr","generateArrayExpr","BinaryExpr","generateBinaryExpr","ReferenceExpr","generateReferenceExpr","MemberAccessExpr","generateMemberExpr","InvocationExpr","generateInvocationExpr","NullExpr","ThisExpr","Error","items","item","toString","operator","unaryExprSpace","operand","isCollectionPredicate","isCollectionPredicateOperator","rightExpr","right","left","isLeftParenthesis","isRightParenthesis","isParenthesesNeededForBinaryExpr","binaryExprSpace","generateReferenceArg","target","ref","member","function","generateArgument","repeat","result","currentPriority","BinaryExprOperatorPriority","op","includes"],"sources":["../../../src/plugins/prisma/zmodel-code-generator.ts"],"sourcesContent":["import {\n Argument,\n ArrayExpr,\n AttributeArg,\n BinaryExpr,\n BinaryExprOperatorPriority,\n DataModelAttribute,\n DataModelFieldAttribute,\n Expression,\n InvocationExpr,\n LiteralExpr,\n MemberAccessExpr,\n NullExpr,\n ReferenceArg,\n ReferenceExpr,\n ThisExpr,\n UnaryExpr,\n} from '@zenstackhq/language/ast';\nimport { resolved } from '@zenstackhq/sdk';\n\n/**\n * Options for the generator.\n */\nexport interface ZModelCodeOptions {\n binaryExprNumberOfSpaces: number;\n unaryExprNumberOfSpaces: number;\n}\n\nexport default class ZModelCodeGenerator {\n private readonly options: ZModelCodeOptions;\n constructor(options?: Partial<ZModelCodeOptions>) {\n this.options = {\n binaryExprNumberOfSpaces: options?.binaryExprNumberOfSpaces ?? 1,\n unaryExprNumberOfSpaces: options?.unaryExprNumberOfSpaces ?? 0,\n };\n }\n generateAttribute(ast: DataModelAttribute | DataModelFieldAttribute): string {\n const args = ast.args.length ? `(${ast.args.map((x) => this.generateAttributeArg(x)).join(', ')})` : '';\n return `${resolved(ast.decl).name}${args}`;\n }\n\n generateAttributeArg(ast: AttributeArg) {\n if (ast.name) {\n return `${ast.name}: ${this.generateExpression(ast.value)}`;\n } else {\n return this.generateExpression(ast.value);\n }\n }\n\n generateExpression(ast: Expression): string {\n switch (ast.$type) {\n case LiteralExpr:\n return this.generateLiteralExpr(ast as LiteralExpr);\n case UnaryExpr:\n return this.generateUnaryExpr(ast as UnaryExpr);\n case ArrayExpr:\n return this.generateArrayExpr(ast as ArrayExpr);\n case BinaryExpr:\n return this.generateBinaryExpr(ast as BinaryExpr);\n case ReferenceExpr:\n return this.generateReferenceExpr(ast as ReferenceExpr);\n case MemberAccessExpr:\n return this.generateMemberExpr(ast as MemberAccessExpr);\n case InvocationExpr:\n return this.generateInvocationExpr(ast as InvocationExpr);\n case NullExpr:\n case ThisExpr:\n return (ast as NullExpr | ThisExpr).value;\n default:\n throw new Error(`Not implemented: ${ast}`);\n }\n }\n\n generateArrayExpr(ast: ArrayExpr) {\n return `[${ast.items.map((item) => this.generateExpression(item)).join(', ')}]`;\n }\n\n generateLiteralExpr(ast: LiteralExpr) {\n return typeof ast.value === 'string' ? `'${ast.value}'` : ast.value.toString();\n }\n\n generateUnaryExpr(ast: UnaryExpr) {\n return `${ast.operator}${this.unaryExprSpace}${this.generateExpression(ast.operand)}`;\n }\n\n generateBinaryExpr(ast: BinaryExpr) {\n const operator = ast.operator;\n const isCollectionPredicate = this.isCollectionPredicateOperator(operator);\n const rightExpr = this.generateExpression(ast.right);\n\n const { left: isLeftParenthesis, right: isRightParenthesis } = this.isParenthesesNeededForBinaryExpr(ast);\n\n return `${isLeftParenthesis ? '(' : ''}${this.generateExpression(ast.left)}${isLeftParenthesis ? ')' : ''}${\n this.binaryExprSpace\n }${operator}${this.binaryExprSpace}${isRightParenthesis ? '(' : ''}${\n isCollectionPredicate ? `[${rightExpr}]` : rightExpr\n }${isRightParenthesis ? ')' : ''}`;\n }\n\n generateReferenceExpr(ast: ReferenceExpr) {\n const args = ast.args.length ? `(${ast.args.map((x) => this.generateReferenceArg(x)).join(', ')})` : '';\n return `${ast.target.ref?.name}${args}`;\n }\n\n generateReferenceArg(ast: ReferenceArg) {\n return `${ast.name}:${ast.value}`;\n }\n\n generateMemberExpr(ast: MemberAccessExpr) {\n return `${this.generateExpression(ast.operand)}.${ast.member.ref?.name}`;\n }\n\n generateInvocationExpr(ast: InvocationExpr) {\n return `${ast.function.ref?.name}(${ast.args.map((x) => this.generateArgument(x)).join(', ')})`;\n }\n\n generateArgument(ast: Argument) {\n return `${ast.name && ':'} ${this.generateExpression(ast.value)}`;\n }\n\n private get binaryExprSpace(): string {\n return ' '.repeat(this.options.binaryExprNumberOfSpaces);\n }\n\n private get unaryExprSpace(): string {\n return ' '.repeat(this.options.unaryExprNumberOfSpaces);\n }\n\n private isParenthesesNeededForBinaryExpr(ast: BinaryExpr): { left: boolean; right: boolean } {\n const result = { left: false, right: false };\n const operator = ast.operator;\n const isCollectionPredicate = this.isCollectionPredicateOperator(operator);\n\n const currentPriority = BinaryExprOperatorPriority[operator];\n\n if (\n ast.left.$type === BinaryExpr &&\n BinaryExprOperatorPriority[(ast.left as BinaryExpr)['operator']] < currentPriority\n ) {\n result.left = true;\n }\n /**\n * 1 collection predicate operator has [] around the right operand, no need to add parenthesis.\n * 2 grammar is left associative, so if the right operand has the same priority still need to add parenthesis.\n **/\n if (\n !isCollectionPredicate &&\n ast.right.$type === BinaryExpr &&\n BinaryExprOperatorPriority[(ast.right as BinaryExpr)['operator']] <= currentPriority\n ) {\n result.right = true;\n }\n\n return result;\n }\n\n private isCollectionPredicateOperator(op: BinaryExpr['operator']) {\n return ['?', '!', '^'].includes(op);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"zmodel-code-generator.js","sourceRoot":"","sources":["../../../src/plugins/prisma/zmodel-code-generator.ts"],"names":[],"mappings":"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"}
package/telemetry.js CHANGED
@@ -1,102 +1,119 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
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;
5
17
  });
6
- exports.default = exports.Telemetry = void 0;
7
- var _asyncExitHook = _interopRequireDefault(require("async-exit-hook"));
8
- var _commander = require("commander");
9
- var _cuid = _interopRequireDefault(require("cuid"));
10
- var _mixpanel = require("mixpanel");
11
- var _nodeMachineId = require("node-machine-id");
12
- var os = _interopRequireWildcard(require("os"));
13
- var _sleepPromise = _interopRequireDefault(require("sleep-promise"));
14
- var _cliError = require("./cli/cli-error");
15
- var _versionUtils = require("./utils/version-utils");
16
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.Telemetry = void 0;
39
+ const async_exit_hook_1 = __importDefault(require("async-exit-hook"));
40
+ const commander_1 = require("commander");
41
+ const cuid_1 = __importDefault(require("cuid"));
42
+ const mixpanel_1 = require("mixpanel");
43
+ const node_machine_id_1 = require("node-machine-id");
44
+ const os = __importStar(require("os"));
45
+ const sleep_promise_1 = __importDefault(require("sleep-promise"));
46
+ const cli_error_1 = require("./cli/cli-error");
47
+ const version_utils_1 = require("./utils/version-utils");
19
48
  /**
20
49
  * Utility class for sending telemetry
21
50
  */
22
51
  class Telemetry {
23
- hostId = (0, _nodeMachineId.machineIdSync)();
24
- sessionid = (0, _cuid.default)();
25
- trackingToken = process && process.env && process.env.TELEMETRY_TRACKING_TOKEN || "74944eb779d7d3b4ce185be843fde9fc";
26
- _os = os.platform();
27
- version = (0, _versionUtils.getVersion)();
28
- exitWait = 200;
29
- constructor() {
30
- if ((process && process.env && process.env.DO_NOT_TRACK || "1") !== '1' && this.trackingToken) {
31
- this.mixpanel = (0, _mixpanel.init)(this.trackingToken, {
32
- geolocate: true
33
- });
52
+ constructor() {
53
+ this.hostId = (0, node_machine_id_1.machineIdSync)();
54
+ this.sessionid = (0, cuid_1.default)();
55
+ this.trackingToken = process.env.TELEMETRY_TRACKING_TOKEN;
56
+ this._os = os.platform();
57
+ this.version = (0, version_utils_1.getVersion)();
58
+ this.exitWait = 200;
59
+ if (process.env.DO_NOT_TRACK !== '1' && this.trackingToken) {
60
+ this.mixpanel = (0, mixpanel_1.init)(this.trackingToken, {
61
+ geolocate: true,
62
+ });
63
+ }
64
+ (0, async_exit_hook_1.default)((callback) => __awaiter(this, void 0, void 0, function* () {
65
+ if (this.mixpanel) {
66
+ // a small delay to ensure telemetry is sent
67
+ yield (0, sleep_promise_1.default)(this.exitWait);
68
+ }
69
+ callback();
70
+ }));
71
+ const errorHandler = (err) => __awaiter(this, void 0, void 0, function* () {
72
+ this.track('cli:error', {
73
+ message: err.message,
74
+ stack: err.stack,
75
+ });
76
+ if (this.mixpanel) {
77
+ // a small delay to ensure telemetry is sent
78
+ yield (0, sleep_promise_1.default)(this.exitWait);
79
+ }
80
+ if (err instanceof cli_error_1.CliError || err instanceof commander_1.CommanderError) {
81
+ // error already logged
82
+ }
83
+ else {
84
+ console.error('\nAn unexpected error occurred:\n', err);
85
+ }
86
+ process.exit(1);
87
+ });
88
+ async_exit_hook_1.default.unhandledRejectionHandler(errorHandler);
89
+ async_exit_hook_1.default.uncaughtExceptionHandler(errorHandler);
34
90
  }
35
- (0, _asyncExitHook.default)(async callback => {
36
- if (this.mixpanel) {
37
- // a small delay to ensure telemetry is sent
38
- await (0, _sleepPromise.default)(this.exitWait);
39
- }
40
- callback();
41
- });
42
- const errorHandler = async err => {
43
- this.track('cli:error', {
44
- message: err.message,
45
- stack: err.stack
46
- });
47
- if (this.mixpanel) {
48
- // a small delay to ensure telemetry is sent
49
- await (0, _sleepPromise.default)(this.exitWait);
50
- }
51
- if (err instanceof _cliError.CliError || err instanceof _commander.CommanderError) {
52
- // error already logged
53
- } else {
54
- console.error('\nAn unexpected error occurred:\n', err);
55
- }
56
- process.exit(1);
57
- };
58
- _asyncExitHook.default.unhandledRejectionHandler(errorHandler);
59
- _asyncExitHook.default.uncaughtExceptionHandler(errorHandler);
60
- }
61
- track(event, properties = {}) {
62
- if (this.mixpanel) {
63
- const payload = {
64
- distinct_id: this.hostId,
65
- session: this.sessionid,
66
- time: new Date(),
67
- $os: this._os,
68
- nodeVersion: process.version,
69
- version: this.version,
70
- ...properties
71
- };
72
- this.mixpanel.track(event, payload);
91
+ track(event, properties = {}) {
92
+ if (this.mixpanel) {
93
+ const payload = Object.assign({ distinct_id: this.hostId, session: this.sessionid, time: new Date(), $os: this._os, nodeVersion: process.version, version: this.version }, properties);
94
+ this.mixpanel.track(event, payload);
95
+ }
73
96
  }
74
- }
75
- async trackSpan(startEvent, completeEvent, errorEvent, properties, action) {
76
- this.track(startEvent, properties);
77
- const start = Date.now();
78
- let success = true;
79
- try {
80
- await Promise.resolve(action());
81
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
82
- } catch (err) {
83
- this.track(errorEvent, {
84
- message: err.message,
85
- stack: err.stack,
86
- ...properties
87
- });
88
- success = false;
89
- throw err;
90
- } finally {
91
- this.track(completeEvent, {
92
- duration: Date.now() - start,
93
- success,
94
- ...properties
95
- });
97
+ trackSpan(startEvent, completeEvent, errorEvent, properties, action) {
98
+ return __awaiter(this, void 0, void 0, function* () {
99
+ this.track(startEvent, properties);
100
+ const start = Date.now();
101
+ let success = true;
102
+ try {
103
+ yield Promise.resolve(action());
104
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
105
+ }
106
+ catch (err) {
107
+ this.track(errorEvent, Object.assign({ message: err.message, stack: err.stack }, properties));
108
+ success = false;
109
+ throw err;
110
+ }
111
+ finally {
112
+ this.track(completeEvent, Object.assign({ duration: Date.now() - start, success }, properties));
113
+ }
114
+ });
96
115
  }
97
- }
98
116
  }
99
117
  exports.Telemetry = Telemetry;
100
- var _default = new Telemetry();
101
- exports.default = _default;
118
+ exports.default = new Telemetry();
102
119
  //# sourceMappingURL=telemetry.js.map
package/telemetry.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","names":["Telemetry","hostId","machineIdSync","sessionid","cuid","trackingToken","_os","os","platform","version","getVersion","exitWait","constructor","mixpanel","init","geolocate","exitHook","callback","sleep","errorHandler","err","track","message","stack","CliError","CommanderError","console","error","process","exit","unhandledRejectionHandler","uncaughtExceptionHandler","event","properties","payload","distinct_id","session","time","Date","$os","nodeVersion","trackSpan","startEvent","completeEvent","errorEvent","action","start","now","success","Promise","resolve","duration"],"sources":["../src/telemetry.ts"],"sourcesContent":["import exitHook from 'async-exit-hook';\nimport { CommanderError } from 'commander';\nimport cuid from 'cuid';\nimport { init, Mixpanel } from 'mixpanel';\nimport { machineIdSync } from 'node-machine-id';\nimport * as os from 'os';\nimport sleep from 'sleep-promise';\nimport { CliError } from './cli/cli-error';\nimport { getVersion } from './utils/version-utils';\n\n/**\n * Telemetry events\n */\nexport type TelemetryEvents =\n | 'cli:start'\n | 'cli:complete'\n | 'cli:error'\n | 'cli:command:start'\n | 'cli:command:complete'\n | 'cli:command:error'\n | 'cli:plugin:start'\n | 'cli:plugin:complete'\n | 'cli:plugin:error';\n\n/**\n * Utility class for sending telemetry\n */\nexport class Telemetry {\n private readonly mixpanel: Mixpanel | undefined;\n private readonly hostId = machineIdSync();\n private readonly sessionid = cuid();\n private readonly trackingToken = process.env.TELEMETRY_TRACKING_TOKEN;\n private readonly _os = os.platform();\n private readonly version = getVersion();\n private exitWait = 200;\n\n constructor() {\n if (process.env.DO_NOT_TRACK !== '1' && this.trackingToken) {\n this.mixpanel = init(this.trackingToken, {\n geolocate: true,\n });\n }\n\n exitHook(async (callback) => {\n if (this.mixpanel) {\n // a small delay to ensure telemetry is sent\n await sleep(this.exitWait);\n }\n callback();\n });\n\n const errorHandler = async (err: Error) => {\n this.track('cli:error', {\n message: err.message,\n stack: err.stack,\n });\n if (this.mixpanel) {\n // a small delay to ensure telemetry is sent\n await sleep(this.exitWait);\n }\n\n if (err instanceof CliError || err instanceof CommanderError) {\n // error already logged\n } else {\n console.error('\\nAn unexpected error occurred:\\n', err);\n }\n\n process.exit(1);\n };\n\n exitHook.unhandledRejectionHandler(errorHandler);\n exitHook.uncaughtExceptionHandler(errorHandler);\n }\n\n track(event: TelemetryEvents, properties: Record<string, unknown> = {}) {\n if (this.mixpanel) {\n const payload = {\n distinct_id: this.hostId,\n session: this.sessionid,\n time: new Date(),\n $os: this._os,\n nodeVersion: process.version,\n version: this.version,\n ...properties,\n };\n this.mixpanel.track(event, payload);\n }\n }\n\n async trackSpan(\n startEvent: TelemetryEvents,\n completeEvent: TelemetryEvents,\n errorEvent: TelemetryEvents,\n properties: Record<string, unknown>,\n action: () => Promise<unknown> | void\n ) {\n this.track(startEvent, properties);\n const start = Date.now();\n let success = true;\n try {\n await Promise.resolve(action());\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (err: any) {\n this.track(errorEvent, {\n message: err.message,\n stack: err.stack,\n ...properties,\n });\n success = false;\n throw err;\n } finally {\n this.track(completeEvent, {\n duration: Date.now() - start,\n success,\n ...properties,\n });\n }\n }\n}\n\nexport default new Telemetry();\n"],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
package/types.js CHANGED
@@ -1 +1,3 @@
1
- "use strict";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
package/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["import { Model } from '@zenstackhq/language/ast';\n\nexport interface Context {\n schema: Model;\n schemaPath: string;\n outDir: string;\n}\n\nexport interface Generator {\n get name(): string;\n get startMessage(): string;\n get successMessage(): string;\n generate(context: Context): Promise<string[]>;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}