zenstack 1.0.0-alpha.23 → 1.0.0-alpha.25
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 +79 -9
- package/cli/cli-error.js +3 -5
- package/cli/cli-error.js.map +1 -1
- package/cli/cli-util.js +123 -105
- package/cli/cli-util.js.map +1 -1
- package/cli/index.js +105 -63
- package/cli/index.js.map +1 -1
- package/cli/plugin-runner.js +130 -127
- package/cli/plugin-runner.js.map +1 -1
- package/language-server/constants.js +5 -13
- package/language-server/constants.js.map +1 -1
- package/language-server/main.js +8 -15
- package/language-server/main.js.map +1 -1
- package/language-server/types.js +3 -1
- package/language-server/types.js.map +1 -1
- package/language-server/utils.js +13 -16
- package/language-server/utils.js.map +1 -1
- package/language-server/validator/attribute-validator.js +3 -7
- package/language-server/validator/attribute-validator.js.map +1 -1
- package/language-server/validator/datamodel-validator.js +293 -347
- package/language-server/validator/datamodel-validator.js.map +1 -1
- package/language-server/validator/datasource-validator.js +61 -71
- package/language-server/validator/datasource-validator.js.map +1 -1
- package/language-server/validator/enum-validator.js +6 -10
- package/language-server/validator/enum-validator.js.map +1 -1
- package/language-server/validator/expression-validator.js +25 -31
- package/language-server/validator/expression-validator.js.map +1 -1
- package/language-server/validator/schema-validator.js +18 -25
- package/language-server/validator/schema-validator.js.map +1 -1
- package/language-server/validator/utils.js +86 -85
- package/language-server/validator/utils.js.map +1 -1
- package/language-server/validator/zmodel-validator.js +55 -58
- package/language-server/validator/zmodel-validator.js.map +1 -1
- package/language-server/zmodel-formatter.js +40 -21
- package/language-server/zmodel-formatter.js.map +1 -1
- package/language-server/zmodel-linker.js +328 -331
- package/language-server/zmodel-linker.js.map +1 -1
- package/language-server/zmodel-module.js +50 -59
- package/language-server/zmodel-module.js.map +1 -1
- package/language-server/zmodel-scope.js +35 -25
- package/language-server/zmodel-scope.js.map +1 -1
- package/language-server/zmodel-workspace-manager.js +30 -18
- package/language-server/zmodel-workspace-manager.js.map +1 -1
- package/package.json +8 -12
- package/plugins/access-policy/expression-writer.js +301 -292
- package/plugins/access-policy/expression-writer.js.map +1 -1
- package/plugins/access-policy/index.js +20 -11
- package/plugins/access-policy/index.js.map +1 -1
- package/plugins/access-policy/policy-guard-generator.js +327 -321
- package/plugins/access-policy/policy-guard-generator.js.map +1 -1
- package/plugins/access-policy/typescript-expression-transformer.js +94 -95
- package/plugins/access-policy/typescript-expression-transformer.js.map +1 -1
- package/plugins/access-policy/utils.js +7 -9
- package/plugins/access-policy/utils.js.map +1 -1
- package/plugins/access-policy/zod-schema-generator.js +143 -159
- package/plugins/access-policy/zod-schema-generator.js.map +1 -1
- package/plugins/model-meta/index.js +97 -102
- package/plugins/model-meta/index.js.map +1 -1
- package/plugins/plugin-utils.js +34 -40
- package/plugins/plugin-utils.js.map +1 -1
- package/plugins/prisma/indent-string.js +4 -8
- package/plugins/prisma/indent-string.js.map +1 -1
- package/plugins/prisma/index.js +20 -11
- package/plugins/prisma/index.js.map +1 -1
- package/plugins/prisma/prisma-builder.js +235 -213
- package/plugins/prisma/prisma-builder.js.map +1 -1
- package/plugins/prisma/schema-generator.js +205 -192
- package/plugins/prisma/schema-generator.js.map +1 -1
- package/plugins/prisma/zmodel-code-generator.js +109 -114
- package/plugins/prisma/zmodel-code-generator.js.map +1 -1
- package/telemetry.js +107 -90
- package/telemetry.js.map +1 -1
- package/types.js +3 -1
- package/types.js.map +1 -1
- package/utils/ast-utils.js +67 -67
- package/utils/ast-utils.js.map +1 -1
- package/utils/exec-utils.js +6 -15
- package/utils/exec-utils.js.map +1 -1
- package/utils/pkg-utils.js +38 -35
- package/utils/pkg-utils.js.map +1 -1
- package/utils/version-utils.js +9 -10
- package/utils/version-utils.js.map +1 -1
- package/global.d.js +0 -1
- package/global.d.js.map +0 -1
|
@@ -1,119 +1,114 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
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
|
-
|
|
4
|
-
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
function
|
|
17
|
-
function
|
|
18
|
-
function
|
|
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
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
-
(
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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
|
-
|
|
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","
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
|
package/types.js
CHANGED
package/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|