zenstack 1.8.0 → 1.8.1

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/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": "1.8.0",
6
+ "version": "1.8.1",
7
7
  "author": {
8
8
  "name": "ZenStack Team"
9
9
  },
@@ -75,7 +75,6 @@
75
75
  "langium": "1.2.0",
76
76
  "lower-case-first": "^2.0.2",
77
77
  "mixpanel": "^0.17.0",
78
- "node-machine-id": "^1.1.12",
79
78
  "ora": "^5.4.1",
80
79
  "pluralize": "^8.0.0",
81
80
  "pretty-repl": "^4.0.0",
@@ -95,8 +94,8 @@
95
94
  "vscode-uri": "^3.0.6",
96
95
  "zod": "^3.22.4",
97
96
  "zod-validation-error": "^1.5.0",
98
- "@zenstackhq/sdk": "1.8.0",
99
- "@zenstackhq/language": "1.8.0"
97
+ "@zenstackhq/language": "1.8.1",
98
+ "@zenstackhq/sdk": "1.8.1"
100
99
  },
101
100
  "devDependencies": {
102
101
  "@prisma/client": "^4.8.0",
@@ -115,7 +114,7 @@
115
114
  "tmp": "^0.2.1",
116
115
  "tsc-alias": "^1.7.0",
117
116
  "vitest": "^0.29.7",
118
- "@zenstackhq/runtime": "1.8.0"
117
+ "@zenstackhq/runtime": "1.8.1"
119
118
  },
120
119
  "scripts": {
121
120
  "vscode:publish": "vsce publish --no-dependencies",
package/telemetry.js CHANGED
@@ -46,8 +46,8 @@ const sleep_promise_1 = __importDefault(require("sleep-promise"));
46
46
  const cli_error_1 = require("./cli/cli-error");
47
47
  const constants_1 = require("./constants");
48
48
  const is_docker_1 = __importDefault(require("./utils/is-docker"));
49
- const version_utils_1 = require("./utils/version-utils");
50
49
  const machine_id_utils_1 = require("./utils/machine-id-utils");
50
+ const version_utils_1 = require("./utils/version-utils");
51
51
  /**
52
52
  * Utility class for sending telemetry
53
53
  */
package/telemetry.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAgD;AAChD,yCAAmD;AACnD,sEAAuC;AACvC,yCAA2C;AAC3C,uCAA0C;AAC1C,uCAAyB;AACzB,kEAAkC;AAClC,+CAA2C;AAC3C,2CAAuD;AACvD,kEAAyC;AACzC,yDAAmD;AACnD,+DAAwD;AAkBxD;;GAEG;AACH,MAAa,SAAS;IAclB;QAZiB,WAAM,GAAG,IAAA,+BAAY,GAAE,CAAC;QACxB,cAAS,GAAG,IAAA,gBAAQ,GAAE,CAAC;QACvB,aAAQ,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;QACrB,gBAAW,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC3B,aAAQ,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;QACrB,gBAAW,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC3B,iBAAY,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC7B,YAAO,GAAG,IAAA,0BAAU,GAAE,CAAC;QACvB,kBAAa,GAAG,IAAA,sBAAgB,GAAE,CAAC;QACnC,aAAQ,GAAG,IAAA,mBAAQ,GAAE,CAAC;QAC/B,aAAQ,GAAG,GAAG,CAAC;QAGnB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG,IAAI,oCAAwB,EAAE,CAAC;YAC/D,IAAI,CAAC,QAAQ,GAAG,IAAA,eAAI,EAAC,oCAAwB,EAAE;gBAC3C,SAAS,EAAE,IAAI;aAClB,CAAC,CAAC;QACP,CAAC;QAED,IAAA,yBAAQ,EAAC,CAAO,QAAQ,EAAE,EAAE;YACxB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,4CAA4C;gBAC5C,MAAM,IAAA,uBAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;YACD,QAAQ,EAAE,CAAC;QACf,CAAC,CAAA,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,CAAO,GAAU,EAAE,EAAE;YACtC,IAAI,GAAG,YAAY,oBAAQ,IAAI,GAAG,YAAY,0BAAc,EAAE,CAAC;gBAC3D,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;oBACpB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;iBACnB,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,4CAA4C;oBAC5C,MAAM,IAAA,uBAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/B,CAAC;gBACD,uBAAuB;YAC3B,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;gBACxD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;oBACpB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;iBACnB,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,4CAA4C;oBAC5C,MAAM,IAAA,uBAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/B,CAAC;YACL,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAA,CAAC;QAEF,yBAAQ,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;QACjD,yBAAQ,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,KAAsB,EAAE,aAAsC,EAAE;QAClE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,OAAO,mBACT,WAAW,EAAE,IAAI,CAAC,MAAM,EACxB,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,IAAI,EAAE,IAAI,IAAI,EAAE,EAChB,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,MAAM,EAAE,IAAI,CAAC,QAAQ,EACrB,SAAS,EAAE,IAAI,CAAC,WAAW,EAC3B,UAAU,EAAE,IAAI,CAAC,YAAY,EAC7B,MAAM,EAAE,IAAI,CAAC,QAAQ,EACrB,SAAS,EAAE,IAAI,CAAC,WAAW,EAC3B,WAAW,EAAE,OAAO,CAAC,OAAO,EAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IACpB,UAAU,CAChB,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IAEK,SAAS,CACX,UAA2B,EAC3B,aAA8B,EAC9B,UAA2B,EAC3B,UAAmC,EACnC,MAAqC;;YAErC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC;gBACD,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChC,8DAA8D;YAClE,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,CAAC,UAAU,kBACjB,OAAO,EAAE,GAAG,CAAC,OAAO,EACpB,KAAK,EAAE,GAAG,CAAC,KAAK,IACb,UAAU,EACf,CAAC;gBACH,OAAO,GAAG,KAAK,CAAC;gBAChB,MAAM,GAAG,CAAC;YACd,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,KAAK,CAAC,aAAa,kBACpB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAC5B,OAAO,IACJ,UAAU,EACf,CAAC;YACP,CAAC;QACL,CAAC;KAAA;CACJ;AA9GD,8BA8GC;AAED,kBAAe,IAAI,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,69 @@
1
1
  "use strict";
2
+ // modified from https://github.com/automation-stack/node-machine-id
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.getMachineId = void 0;
4
- const node_machine_id_1 = require("node-machine-id");
5
+ const child_process_1 = require("child_process");
6
+ const crypto_1 = require("crypto");
5
7
  const uuid_1 = require("uuid");
8
+ const { platform } = process;
9
+ const win32RegBinPath = {
10
+ native: '%windir%\\System32',
11
+ mixed: '%windir%\\sysnative\\cmd.exe /c %windir%\\System32',
12
+ };
13
+ const guid = {
14
+ darwin: 'ioreg -rd1 -c IOPlatformExpertDevice',
15
+ win32: `${win32RegBinPath[isWindowsProcessMixedOrNativeArchitecture()]}\\REG.exe ` +
16
+ 'QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography ' +
17
+ '/v MachineGuid',
18
+ linux: '( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname 2> /dev/null) | head -n 1 || :',
19
+ freebsd: 'kenv -q smbios.system.uuid || sysctl -n kern.hostuuid',
20
+ };
21
+ function isWindowsProcessMixedOrNativeArchitecture() {
22
+ // eslint-disable-next-line no-prototype-builtins
23
+ if (process.arch === 'ia32' && process.env.hasOwnProperty('PROCESSOR_ARCHITEW6432')) {
24
+ return 'mixed';
25
+ }
26
+ return 'native';
27
+ }
28
+ function hash(guid) {
29
+ return (0, crypto_1.createHash)('sha256').update(guid).digest('hex');
30
+ }
31
+ function expose(result) {
32
+ switch (platform) {
33
+ case 'darwin':
34
+ return result
35
+ .split('IOPlatformUUID')[1]
36
+ .split('\n')[0]
37
+ .replace(/=|\s+|"/gi, '')
38
+ .toLowerCase();
39
+ case 'win32':
40
+ return result
41
+ .toString()
42
+ .split('REG_SZ')[1]
43
+ .replace(/\r+|\n+|\s+/gi, '')
44
+ .toLowerCase();
45
+ case 'linux':
46
+ return result
47
+ .toString()
48
+ .replace(/\r+|\n+|\s+/gi, '')
49
+ .toLowerCase();
50
+ case 'freebsd':
51
+ return result
52
+ .toString()
53
+ .replace(/\r+|\n+|\s+/gi, '')
54
+ .toLowerCase();
55
+ default:
56
+ throw new Error(`Unsupported platform: ${process.platform}`);
57
+ }
58
+ }
6
59
  function getMachineId() {
7
- // machineIdSync() is not compatible with non-shell hosts such as Vercel
60
+ if (!(platform in guid)) {
61
+ return (0, uuid_1.v4)();
62
+ }
8
63
  try {
9
- return (0, node_machine_id_1.machineIdSync)();
64
+ const value = (0, child_process_1.execSync)(guid[platform]);
65
+ const id = expose(value.toString());
66
+ return hash(id);
10
67
  }
11
68
  catch (_a) {
12
69
  return (0, uuid_1.v4)();
@@ -1 +1 @@
1
- {"version":3,"file":"machine-id-utils.js","sourceRoot":"","sources":["../../src/utils/machine-id-utils.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAChD,+BAAkC;AAElC,SAAgB,YAAY;IACxB,wEAAwE;IACxE,IAAI,CAAC;QACD,OAAO,IAAA,+BAAa,GAAE,CAAC;IAC3B,CAAC;IAAC,WAAM,CAAC;QACL,OAAO,IAAA,SAAI,GAAE,CAAC;IAClB,CAAC;AACL,CAAC;AAPD,oCAOC"}
1
+ {"version":3,"file":"machine-id-utils.js","sourceRoot":"","sources":["../../src/utils/machine-id-utils.ts"],"names":[],"mappings":";AAAA,oEAAoE;;;AAEpE,iDAAyC;AACzC,mCAAoC;AACpC,+BAAkC;AAElC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;AAC7B,MAAM,eAAe,GAAG;IACpB,MAAM,EAAE,oBAAoB;IAC5B,KAAK,EAAE,oDAAoD;CAC9D,CAAC;AACF,MAAM,IAAI,GAAG;IACT,MAAM,EAAE,sCAAsC;IAC9C,KAAK,EACD,GAAG,eAAe,CAAC,yCAAyC,EAAE,CAAC,YAAY;QAC3E,8DAA8D;QAC9D,gBAAgB;IACpB,KAAK,EAAE,wGAAwG;IAC/G,OAAO,EAAE,uDAAuD;CACnE,CAAC;AAEF,SAAS,yCAAyC;IAC9C,iDAAiD;IACjD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAClF,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,IAAI,CAAC,IAAY;IACtB,OAAO,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,MAAM,CAAC,MAAc;IAC1B,QAAQ,QAAQ,EAAE,CAAC;QACf,KAAK,QAAQ;YACT,OAAO,MAAM;iBACR,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;iBAC1B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACd,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;iBACxB,WAAW,EAAE,CAAC;QACvB,KAAK,OAAO;YACR,OAAO,MAAM;iBACR,QAAQ,EAAE;iBACV,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBAClB,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;iBAC5B,WAAW,EAAE,CAAC;QACvB,KAAK,OAAO;YACR,OAAO,MAAM;iBACR,QAAQ,EAAE;iBACV,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;iBAC5B,WAAW,EAAE,CAAC;QACvB,KAAK,SAAS;YACV,OAAO,MAAM;iBACR,QAAQ,EAAE;iBACV,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;iBAC5B,WAAW,EAAE,CAAC;QACvB;YACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrE,CAAC;AACL,CAAC;AAED,SAAgB,YAAY;IACxB,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAA,SAAI,GAAE,CAAC;IAClB,CAAC;IACD,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,IAAA,wBAAQ,EAAC,IAAI,CAAC,QAA6B,CAAC,CAAC,CAAC;QAC5D,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAAC,WAAM,CAAC;QACL,OAAO,IAAA,SAAI,GAAE,CAAC;IAClB,CAAC;AACL,CAAC;AAXD,oCAWC"}