@zenstackhq/sdk 1.0.0-alpha.102 → 1.0.0-alpha.110

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/code-gen.d.ts CHANGED
@@ -1,5 +1,13 @@
1
- import { Project } from 'ts-morph';
1
+ import { CompilerOptions, Project } from 'ts-morph';
2
+ /**
3
+ * Creates a TS code generation project
4
+ */
5
+ export declare function createProject(options?: CompilerOptions): Project;
6
+ /**
7
+ * Persists a TS project to disk.
8
+ */
9
+ export declare function saveProject(project: Project): Promise<void>;
2
10
  /**
3
11
  * Emit a TS project to JS files.
4
12
  */
5
- export declare function emitProject(project: Project, format?: boolean): Promise<void>;
13
+ export declare function emitProject(project: Project): Promise<void>;
package/code-gen.js CHANGED
@@ -12,8 +12,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.emitProject = void 0;
15
+ exports.emitProject = exports.saveProject = exports.createProject = void 0;
16
16
  const prettier_1 = __importDefault(require("prettier"));
17
+ const ts_morph_1 = require("ts-morph");
18
+ const types_1 = require("./types");
17
19
  const formatOptions = {
18
20
  trailingComma: 'all',
19
21
  tabWidth: 4,
@@ -37,17 +39,47 @@ function formatFile(sourceFile) {
37
39
  }
38
40
  });
39
41
  }
42
+ /**
43
+ * Creates a TS code generation project
44
+ */
45
+ function createProject(options) {
46
+ return new ts_morph_1.Project({
47
+ compilerOptions: Object.assign({ target: ts_morph_1.ScriptTarget.ES2016, module: ts_morph_1.ModuleKind.CommonJS, esModuleInterop: true, declaration: true, strict: true, skipLibCheck: true, noEmitOnError: true }, options),
48
+ });
49
+ }
50
+ exports.createProject = createProject;
51
+ /**
52
+ * Persists a TS project to disk.
53
+ */
54
+ function saveProject(project) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ yield Promise.all(project.getSourceFiles().map((sf) => __awaiter(this, void 0, void 0, function* () {
57
+ yield formatFile(sf);
58
+ })));
59
+ yield project.save();
60
+ });
61
+ }
62
+ exports.saveProject = saveProject;
40
63
  /**
41
64
  * Emit a TS project to JS files.
42
65
  */
43
- function emitProject(project, format = true) {
66
+ function emitProject(project) {
44
67
  return __awaiter(this, void 0, void 0, function* () {
45
- if (format) {
46
- yield Promise.all(project.getSourceFiles().map((sf) => __awaiter(this, void 0, void 0, function* () {
47
- yield formatFile(sf);
48
- })));
68
+ const errors = project.getPreEmitDiagnostics().filter((d) => d.getCategory() === ts_morph_1.DiagnosticCategory.Error);
69
+ if (errors.length > 0) {
70
+ console.error('Error compiling generated code:');
71
+ console.error(project.formatDiagnosticsWithColorAndContext(errors.slice(0, 10)));
72
+ yield project.save();
73
+ throw new types_1.PluginError(`Error compiling generated code`);
74
+ }
75
+ const result = yield project.emit();
76
+ const emitErrors = result.getDiagnostics().filter((d) => d.getCategory() === ts_morph_1.DiagnosticCategory.Error);
77
+ if (emitErrors.length > 0) {
78
+ console.error('Some generated code is not emitted:');
79
+ console.error(project.formatDiagnosticsWithColorAndContext(emitErrors.slice(0, 10)));
80
+ yield project.save();
81
+ throw new types_1.PluginError(`Error emitting generated code`);
49
82
  }
50
- yield project.emit();
51
83
  });
52
84
  }
53
85
  exports.emitProject = emitProject;
package/code-gen.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"code-gen.js","sourceRoot":"","sources":["../src/code-gen.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wDAAgC;AAGhC,MAAM,aAAa,GAAG;IAClB,aAAa,EAAE,KAAK;IACpB,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,GAAG;IACf,cAAc,EAAE,IAAI;IACpB,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,YAAY;CACd,CAAC;AAEX,SAAe,UAAU,CAAC,UAAsB;;QAC5C,IAAI;YACA,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,kBAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAC1D,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;SAC3B;QAAC,WAAM;YACJ,WAAW;SACd;IACL,CAAC;CAAA;AAED;;GAEG;AACH,SAAsB,WAAW,CAAC,OAAgB,EAAE,MAAM,GAAG,IAAI;;QAC7D,IAAI,MAAM,EAAE;YACR,MAAM,OAAO,CAAC,GAAG,CACb,OAAO,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAO,EAAE,EAAE,EAAE;gBACtC,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC,CAAA,CAAC,CACL,CAAC;SACL;QACD,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;CAAA;AATD,kCASC"}
1
+ {"version":3,"file":"code-gen.js","sourceRoot":"","sources":["../src/code-gen.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zenstackhq/sdk",
3
- "version": "1.0.0-alpha.102",
3
+ "version": "1.0.0-alpha.110",
4
4
  "description": "ZenStack plugin development SDK",
5
5
  "main": "index.js",
6
6
  "publishConfig": {
@@ -14,7 +14,7 @@
14
14
  "@prisma/generator-helper": "^4.7.1",
15
15
  "prettier": "^2.8.3",
16
16
  "ts-morph": "^16.0.0",
17
- "@zenstackhq/language": "1.0.0-alpha.102"
17
+ "@zenstackhq/language": "1.0.0-alpha.110"
18
18
  },
19
19
  "devDependencies": {
20
20
  "copyfiles": "^2.4.1",