@eventvisor/core 0.6.0 → 0.8.0

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 (60) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/lib/catalog/buildCatalog.d.ts +4 -0
  3. package/lib/catalog/buildCatalog.js +78 -0
  4. package/lib/catalog/buildCatalog.js.map +1 -0
  5. package/lib/catalog/exportCatalog.d.ts +2 -0
  6. package/lib/catalog/exportCatalog.js +62 -0
  7. package/lib/catalog/exportCatalog.js.map +1 -0
  8. package/lib/catalog/generateHistory.d.ts +3 -0
  9. package/lib/catalog/generateHistory.js +64 -0
  10. package/lib/catalog/generateHistory.js.map +1 -0
  11. package/lib/catalog/getLastModifiedFromHistory.d.ts +2 -0
  12. package/lib/catalog/getLastModifiedFromHistory.js +18 -0
  13. package/lib/catalog/getLastModifiedFromHistory.js.map +1 -0
  14. package/lib/catalog/getOwnerAndRepoFromUrl.d.ts +4 -0
  15. package/lib/catalog/getOwnerAndRepoFromUrl.js +20 -0
  16. package/lib/catalog/getOwnerAndRepoFromUrl.js.map +1 -0
  17. package/lib/catalog/getRelativePaths.d.ts +7 -0
  18. package/lib/catalog/getRelativePaths.js +50 -0
  19. package/lib/catalog/getRelativePaths.js.map +1 -0
  20. package/lib/catalog/getRepoDetails.d.ts +8 -0
  21. package/lib/catalog/getRepoDetails.js +48 -0
  22. package/lib/catalog/getRepoDetails.js.map +1 -0
  23. package/lib/catalog/index.d.ts +2 -0
  24. package/lib/catalog/index.js +37 -0
  25. package/lib/catalog/index.js.map +1 -0
  26. package/lib/catalog/serveCatalog.d.ts +2 -0
  27. package/lib/catalog/serveCatalog.js +88 -0
  28. package/lib/catalog/serveCatalog.js.map +1 -0
  29. package/lib/cli/plugins.js +8 -1
  30. package/lib/cli/plugins.js.map +1 -1
  31. package/lib/config/projectConfig.d.ts +2 -1
  32. package/lib/config/projectConfig.js +3 -2
  33. package/lib/config/projectConfig.js.map +1 -1
  34. package/lib/datasource/adapter.d.ts +3 -1
  35. package/lib/datasource/adapter.js.map +1 -1
  36. package/lib/datasource/datasource.d.ts +3 -1
  37. package/lib/datasource/datasource.js +7 -0
  38. package/lib/datasource/datasource.js.map +1 -1
  39. package/lib/datasource/filesystemAdapter.d.ts +8 -1
  40. package/lib/datasource/filesystemAdapter.js +130 -0
  41. package/lib/datasource/filesystemAdapter.js.map +1 -1
  42. package/lib/utils/git.d.ts +6 -0
  43. package/lib/utils/git.js +153 -0
  44. package/lib/utils/git.js.map +1 -0
  45. package/package.json +4 -4
  46. package/src/catalog/buildCatalog.ts +114 -0
  47. package/src/catalog/exportCatalog.ts +40 -0
  48. package/src/catalog/generateHistory.ts +40 -0
  49. package/src/catalog/getLastModifiedFromHistory.ts +21 -0
  50. package/src/catalog/getOwnerAndRepoFromUrl.ts +17 -0
  51. package/src/catalog/getRelativePaths.ts +23 -0
  52. package/src/catalog/getRepoDetails.ts +62 -0
  53. package/src/catalog/index.ts +40 -0
  54. package/src/catalog/serveCatalog.ts +60 -0
  55. package/src/cli/plugins.ts +8 -1
  56. package/src/config/projectConfig.ts +3 -1
  57. package/src/datasource/adapter.ts +5 -1
  58. package/src/datasource/datasource.ts +10 -0
  59. package/src/datasource/filesystemAdapter.ts +155 -1
  60. package/src/utils/git.ts +129 -0
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.configPlugin = exports.SCHEMA_VERSION = exports.DEFAULT_PARSER = exports.DEFAULT_TAGS = exports.DEFAULT_PRETTY_DATAFILE = exports.ROOT_DIR_PLACEHOLDER = exports.CONFIG_MODULE_NAME = exports.SITE_EXPORT_DIRECTORY_NAME = exports.DATAFILE_NAME_PATTERN = exports.DATAFILES_DIRECTORY_NAME = exports.SYSTEM_DIRECTORY_NAME = exports.TESTS_DIRECTORY_NAME = exports.EFFECTS_DIRECTORY_NAME = exports.STATES_DIRECTORY_NAME = exports.DESTINATIONS_DIRECTORY_NAME = exports.ATTRIBUTES_DIRECTORY_NAME = exports.EVENTS_DIRECTORY_NAME = void 0;
36
+ exports.configPlugin = exports.SCHEMA_VERSION = exports.DEFAULT_PARSER = exports.DEFAULT_TAGS = exports.DEFAULT_PRETTY_DATAFILE = exports.ROOT_DIR_PLACEHOLDER = exports.CONFIG_MODULE_NAME = exports.CATALOG_EXPORT_DIRECTORY_NAME = exports.DATAFILE_NAME_PATTERN = exports.DATAFILES_DIRECTORY_NAME = exports.SYSTEM_DIRECTORY_NAME = exports.TESTS_DIRECTORY_NAME = exports.EFFECTS_DIRECTORY_NAME = exports.STATES_DIRECTORY_NAME = exports.DESTINATIONS_DIRECTORY_NAME = exports.ATTRIBUTES_DIRECTORY_NAME = exports.EVENTS_DIRECTORY_NAME = void 0;
37
37
  exports.getProjectConfig = getProjectConfig;
38
38
  exports.showProjectConfig = showProjectConfig;
39
39
  const path = __importStar(require("path"));
@@ -48,7 +48,7 @@ exports.TESTS_DIRECTORY_NAME = "tests";
48
48
  exports.SYSTEM_DIRECTORY_NAME = ".eventvisor";
49
49
  exports.DATAFILES_DIRECTORY_NAME = "datafiles";
50
50
  exports.DATAFILE_NAME_PATTERN = "eventvisor-%s.json";
51
- exports.SITE_EXPORT_DIRECTORY_NAME = "out";
51
+ exports.CATALOG_EXPORT_DIRECTORY_NAME = "out";
52
52
  exports.CONFIG_MODULE_NAME = "eventvisor.config.js";
53
53
  exports.ROOT_DIR_PLACEHOLDER = "<rootDir>";
54
54
  exports.DEFAULT_PRETTY_DATAFILE = false;
@@ -72,6 +72,7 @@ function getProjectConfig(rootDirectoryPath) {
72
72
  datafilesDirectoryPath: path.join(rootDirectoryPath, exports.DATAFILES_DIRECTORY_NAME),
73
73
  datafileNamePattern: exports.DATAFILE_NAME_PATTERN,
74
74
  systemDirectoryPath: path.join(rootDirectoryPath, exports.SYSTEM_DIRECTORY_NAME),
75
+ catalogExportDirectoryPath: path.join(rootDirectoryPath, exports.CATALOG_EXPORT_DIRECTORY_NAME),
75
76
  plugins: [],
76
77
  };
77
78
  const configModulePath = path.join(rootDirectoryPath, exports.CONFIG_MODULE_NAME);
@@ -1 +1 @@
1
- {"version":3,"file":"projectConfig.js","sourceRoot":"","sources":["../../src/config/projectConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projectConfig.js","sourceRoot":"","sources":["../../src/config/projectConfig.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { DatafileContent, EntityType } from "@eventvisor/types";
1
+ import type { DatafileContent, EntityType, HistoryEntry, Commit } from "@eventvisor/types";
2
2
  export interface DatafileOptions {
3
3
  tag: string;
4
4
  datafilesDir?: string;
@@ -13,4 +13,6 @@ export declare abstract class Adapter {
13
13
  abstract writeDatafile(datafileContent: DatafileContent, options: DatafileOptions): Promise<void>;
14
14
  abstract readRevision(): Promise<string>;
15
15
  abstract writeRevision(revision: string): Promise<void>;
16
+ abstract listHistoryEntries(entityType?: EntityType, entityKey?: string): Promise<HistoryEntry[]>;
17
+ abstract readCommit(commit: string, entityType?: EntityType, entityKey?: string): Promise<Commit>;
16
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/datasource/adapter.ts"],"names":[],"mappings":";;;AAOA,MAAsB,OAAO;CAe5B;AAfD,0BAeC"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/datasource/adapter.ts"],"names":[],"mappings":";;;AAOA,MAAsB,OAAO;CAmB5B;AAnBD,0BAmBC"}
@@ -1,4 +1,4 @@
1
- import type { Event, EventName, Attribute, AttributeName, Destination, DestinationName, Effect, EffectName, Test, TestName, DatafileContent } from "@eventvisor/types";
1
+ import type { Event, EventName, Attribute, AttributeName, Destination, DestinationName, Effect, EffectName, Test, TestName, DatafileContent, EntityType } from "@eventvisor/types";
2
2
  import { ProjectConfig } from "../config";
3
3
  import { DatafileOptions } from "./adapter";
4
4
  export declare class Datasource {
@@ -45,4 +45,6 @@ export declare class Datasource {
45
45
  writeTest(testName: TestName, test: Test): Promise<Test>;
46
46
  deleteTest(testName: TestName): Promise<void>;
47
47
  getTestSpecName(testName: TestName): string;
48
+ listHistoryEntries(entityType?: EntityType, entityKey?: string): Promise<import("@eventvisor/types").HistoryEntry[]>;
49
+ readCommit(commitHash: string, entityType?: EntityType, entityKey?: string): Promise<import("@eventvisor/types").Commit>;
48
50
  }
@@ -112,6 +112,13 @@ class Datasource {
112
112
  getTestSpecName(testName) {
113
113
  return `${testName}.${this.getExtension()}`;
114
114
  }
115
+ // history
116
+ listHistoryEntries(entityType, entityKey) {
117
+ return this.adapter.listHistoryEntries(entityType, entityKey);
118
+ }
119
+ readCommit(commitHash, entityType, entityKey) {
120
+ return this.adapter.readCommit(commitHash, entityType, entityKey);
121
+ }
115
122
  }
116
123
  exports.Datasource = Datasource;
117
124
  //# sourceMappingURL=datasource.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../src/datasource/datasource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../src/datasource/datasource.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { DatafileContent, EntityType } from "@eventvisor/types";
1
+ import type { DatafileContent, EntityType, HistoryEntry, Commit } from "@eventvisor/types";
2
2
  import { Adapter, DatafileOptions } from "./adapter";
3
3
  import { ProjectConfig } from "../config";
4
4
  export declare function getRevisionFilePath(projectConfig: ProjectConfig): string;
@@ -26,4 +26,11 @@ export declare class FilesystemAdapter extends Adapter {
26
26
  getDatafilePath(options: DatafileOptions): string;
27
27
  readDatafile(options: DatafileOptions): Promise<DatafileContent>;
28
28
  writeDatafile(datafileContent: DatafileContent, options: DatafileOptions): Promise<void>;
29
+ /**
30
+ * History
31
+ */
32
+ getRawHistory(pathPatterns: string[]): Promise<string>;
33
+ getPathPatterns(entityType?: EntityType, entityKey?: string): string[];
34
+ listHistoryEntries(entityType?: EntityType, entityKey?: string): Promise<HistoryEntry[]>;
35
+ readCommit(commitHash: string, entityType?: EntityType, entityKey?: string): Promise<Commit>;
29
36
  }
@@ -38,7 +38,9 @@ exports.getRevisionFilePath = getRevisionFilePath;
38
38
  exports.getAllEntityFilePathsRecursively = getAllEntityFilePathsRecursively;
39
39
  const fs = __importStar(require("fs"));
40
40
  const path = __importStar(require("path"));
41
+ const child_process_1 = require("child_process");
41
42
  const adapter_1 = require("./adapter");
43
+ const git_1 = require("../utils/git");
42
44
  function getRevisionFilePath(projectConfig) {
43
45
  return path.join(projectConfig.systemDirectoryPath, `REVISION`);
44
46
  }
@@ -187,6 +189,134 @@ class FilesystemAdapter extends adapter_1.Adapter {
187
189
  const shortPath = outputFilePath.replace(root + path.sep, "");
188
190
  console.log(` Datafile generated: ${shortPath}`);
189
191
  }
192
+ /**
193
+ * History
194
+ */
195
+ async getRawHistory(pathPatterns) {
196
+ const gitPaths = pathPatterns.join(" ");
197
+ const logCommand = `git log --name-only --pretty=format:"%h|%an|%aI" --relative --no-merges -- ${gitPaths}`;
198
+ const fullCommand = `(cd ${this.rootDirectoryPath} && ${logCommand})`;
199
+ return new Promise(function (resolve, reject) {
200
+ const child = (0, child_process_1.spawn)(fullCommand, { shell: true });
201
+ let result = "";
202
+ child.stdout.on("data", function (data) {
203
+ result += data.toString();
204
+ });
205
+ child.stderr.on("data", function (data) {
206
+ console.error(data.toString());
207
+ });
208
+ child.on("close", function (code) {
209
+ if (code === 0) {
210
+ resolve(result);
211
+ }
212
+ else {
213
+ reject(code);
214
+ }
215
+ });
216
+ });
217
+ }
218
+ getPathPatterns(entityType, entityKey) {
219
+ let pathPatterns = [];
220
+ if (entityType && entityKey) {
221
+ pathPatterns = [this.getEntityPath(entityType, entityKey)];
222
+ }
223
+ else if (entityType) {
224
+ if (entityType === "attribute") {
225
+ pathPatterns = [this.config.attributesDirectoryPath];
226
+ }
227
+ else if (entityType === "event") {
228
+ pathPatterns = [this.config.eventsDirectoryPath];
229
+ }
230
+ else if (entityType === "destination") {
231
+ pathPatterns = [this.config.destinationsDirectoryPath];
232
+ }
233
+ else if (entityType === "effect") {
234
+ pathPatterns = [this.config.effectsDirectoryPath];
235
+ }
236
+ else if (entityType === "test") {
237
+ pathPatterns = [this.config.testsDirectoryPath];
238
+ }
239
+ }
240
+ else {
241
+ pathPatterns = [
242
+ this.config.eventsDirectoryPath,
243
+ this.config.attributesDirectoryPath,
244
+ this.config.destinationsDirectoryPath,
245
+ this.config.effectsDirectoryPath,
246
+ this.config.testsDirectoryPath,
247
+ ];
248
+ }
249
+ return pathPatterns.map((p) => p.replace(this.rootDirectoryPath + path.sep, ""));
250
+ }
251
+ async listHistoryEntries(entityType, entityKey) {
252
+ const pathPatterns = this.getPathPatterns(entityType, entityKey);
253
+ const rawHistory = await this.getRawHistory(pathPatterns);
254
+ const fullHistory = [];
255
+ const blocks = rawHistory.split("\n\n");
256
+ for (let i = 0; i < blocks.length; i++) {
257
+ const block = blocks[i];
258
+ if (block.length === 0) {
259
+ continue;
260
+ }
261
+ const lines = block.split("\n");
262
+ const commitLine = lines[0];
263
+ const [commitHash, author, timestamp] = commitLine.split("|");
264
+ const entities = [];
265
+ const filePathLines = lines.slice(1);
266
+ for (let j = 0; j < filePathLines.length; j++) {
267
+ const relativePath = filePathLines[j];
268
+ const absolutePath = path.join(this.rootDirectoryPath, relativePath);
269
+ const fileName = absolutePath.split(path.sep).pop();
270
+ const relativeDir = path.dirname(absolutePath);
271
+ const key = fileName.replace("." + this.parser.extension, "");
272
+ let type = "attribute";
273
+ if (relativeDir === this.config.attributesDirectoryPath) {
274
+ type = "attribute";
275
+ }
276
+ else if (relativeDir === this.config.eventsDirectoryPath) {
277
+ type = "event";
278
+ }
279
+ else if (relativeDir === this.config.destinationsDirectoryPath) {
280
+ type = "destination";
281
+ }
282
+ else if (relativeDir === this.config.effectsDirectoryPath) {
283
+ type = "effect";
284
+ }
285
+ else if (relativeDir === this.config.testsDirectoryPath) {
286
+ type = "test";
287
+ }
288
+ else {
289
+ continue;
290
+ }
291
+ entities.push({
292
+ type,
293
+ key,
294
+ });
295
+ }
296
+ if (entities.length === 0) {
297
+ continue;
298
+ }
299
+ fullHistory.push({
300
+ commit: commitHash,
301
+ author,
302
+ timestamp,
303
+ entities,
304
+ });
305
+ }
306
+ return fullHistory;
307
+ }
308
+ async readCommit(commitHash, entityType, entityKey) {
309
+ const pathPatterns = this.getPathPatterns(entityType, entityKey);
310
+ const gitPaths = pathPatterns.join(" ");
311
+ const logCommand = `git show ${commitHash} --relative -- ${gitPaths}`;
312
+ const fullCommand = `(cd ${this.rootDirectoryPath} && ${logCommand})`;
313
+ const gitShowOutput = (0, child_process_1.execSync)(fullCommand, { encoding: "utf8" }).toString();
314
+ const commit = (0, git_1.getCommit)(gitShowOutput, {
315
+ rootDirectoryPath: this.rootDirectoryPath,
316
+ projectConfig: this.config,
317
+ });
318
+ return commit;
319
+ }
190
320
  }
191
321
  exports.FilesystemAdapter = FilesystemAdapter;
192
322
  //# sourceMappingURL=filesystemAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"filesystemAdapter.js","sourceRoot":"","sources":["../../src/datasource/filesystemAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filesystemAdapter.js","sourceRoot":"","sources":["../../src/datasource/filesystemAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { Commit } from "@eventvisor/types";
2
+ import { ProjectConfig } from "../config";
3
+ export declare function getCommit(gitShowOutput: string, options: {
4
+ rootDirectoryPath: string;
5
+ projectConfig: ProjectConfig;
6
+ }): Commit;
@@ -0,0 +1,153 @@
1
+ "use strict";
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;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getCommit = getCommit;
37
+ const path = __importStar(require("path"));
38
+ function parseGitCommitShowOutput(gitShowOutput) {
39
+ const result = {
40
+ hash: "",
41
+ author: "",
42
+ date: "",
43
+ message: "",
44
+ diffs: {},
45
+ };
46
+ const lines = gitShowOutput.split("\n");
47
+ let currentFile = "";
48
+ let parsingDiffs = false;
49
+ let parsingMessage = false;
50
+ lines.forEach((line) => {
51
+ if (line.startsWith("commit ")) {
52
+ result.hash = line.replace("commit ", "").trim();
53
+ }
54
+ else if (line.startsWith("Author:")) {
55
+ result.author = line.replace("Author:", "").trim();
56
+ parsingMessage = false;
57
+ }
58
+ else if (line.startsWith("Date:")) {
59
+ result.date = line.replace("Date:", "").trim();
60
+ parsingMessage = true; // Start parsing commit message
61
+ }
62
+ else if (line.startsWith("diff --git")) {
63
+ if (currentFile) {
64
+ // Finish capturing the previous file's diff
65
+ parsingDiffs = false;
66
+ }
67
+ currentFile = line.split(" ")[2].substring(2);
68
+ result.diffs[currentFile] = line + "\n"; // Include the diff --git line
69
+ parsingDiffs = true;
70
+ parsingMessage = false; // Stop parsing commit message
71
+ }
72
+ else if (parsingDiffs) {
73
+ result.diffs[currentFile] += line + "\n";
74
+ }
75
+ else if (parsingMessage && line.trim() !== "") {
76
+ result.message += line.trim() + "\n"; // Capture commit message
77
+ }
78
+ });
79
+ return result;
80
+ }
81
+ function analyzeFileChange(diff) {
82
+ let status = "updated"; // Default to 'updated'
83
+ // Check for file creation or deletion
84
+ if (diff.includes("new file mode")) {
85
+ status = "created";
86
+ }
87
+ else if (diff.includes("deleted file mode")) {
88
+ status = "deleted";
89
+ }
90
+ return status;
91
+ }
92
+ function getCommit(gitShowOutput, options) {
93
+ const parsed = parseGitCommitShowOutput(gitShowOutput);
94
+ const { rootDirectoryPath, projectConfig } = options;
95
+ const commit = {
96
+ hash: parsed.hash,
97
+ author: parsed.author,
98
+ timestamp: parsed.date,
99
+ entities: [],
100
+ };
101
+ Object.keys(parsed.diffs).forEach((file) => {
102
+ const diff = parsed.diffs[file];
103
+ const status = analyzeFileChange(diff);
104
+ const absolutePath = path.join(rootDirectoryPath, file);
105
+ const relativeDir = path.dirname(absolutePath);
106
+ // get entity type
107
+ let type = "attribute";
108
+ if (relativeDir === projectConfig.attributesDirectoryPath) {
109
+ type = "attribute";
110
+ }
111
+ else if (relativeDir === projectConfig.eventsDirectoryPath) {
112
+ type = "event";
113
+ }
114
+ else if (relativeDir === projectConfig.destinationsDirectoryPath) {
115
+ type = "destination";
116
+ }
117
+ else if (relativeDir === projectConfig.effectsDirectoryPath) {
118
+ type = "effect";
119
+ }
120
+ else if (relativeDir === projectConfig.testsDirectoryPath) {
121
+ type = "test";
122
+ }
123
+ else {
124
+ // unknown type
125
+ return;
126
+ }
127
+ // get entity key
128
+ const fileName = absolutePath.split(path.sep).pop();
129
+ const extensionWithDot = "." + projectConfig.parser.extension;
130
+ if (!fileName.endsWith(extensionWithDot)) {
131
+ // unknown extension
132
+ return;
133
+ }
134
+ const key = fileName.replace(extensionWithDot, "");
135
+ const entityDiff = {
136
+ type,
137
+ key,
138
+ content: diff,
139
+ };
140
+ if (status === "created") {
141
+ entityDiff.created = true;
142
+ }
143
+ else if (status === "deleted") {
144
+ entityDiff.deleted = true;
145
+ }
146
+ else {
147
+ entityDiff.updated = true;
148
+ }
149
+ commit.entities.push(entityDiff);
150
+ });
151
+ return commit;
152
+ }
153
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eventvisor/core",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "Core package of Eventvisor for Node.js usage",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -29,8 +29,8 @@
29
29
  },
30
30
  "license": "MIT",
31
31
  "dependencies": {
32
- "@eventvisor/sdk": "0.6.0",
33
- "@eventvisor/types": "0.6.0",
32
+ "@eventvisor/sdk": "0.8.0",
33
+ "@eventvisor/types": "0.8.0",
34
34
  "axios": "^1.12.2",
35
35
  "chalk": "^5.6.0",
36
36
  "js-yaml": "^4.1.0",
@@ -38,5 +38,5 @@
38
38
  "yargs": "^17.7.2",
39
39
  "zod": "^4.0.17"
40
40
  },
41
- "gitHead": "ca4f29c599f62ae1762287027a824fb832dabf9e"
41
+ "gitHead": "576d9aad61a71d542a0c574b1cd343c1f78ec9ca"
42
42
  }
@@ -0,0 +1,114 @@
1
+ import type { HistoryEntry, Catalog } from "@eventvisor/types";
2
+
3
+ import { getRelativePaths } from "./getRelativePaths";
4
+ import { getLastModifiedFromHistory } from "./getLastModifiedFromHistory";
5
+ import { RepoDetails } from "./getRepoDetails";
6
+ import { Dependencies } from "../dependencies";
7
+
8
+ export async function buildCatalog(
9
+ deps: Dependencies,
10
+ fullHistory: HistoryEntry[],
11
+ repoDetails: RepoDetails | undefined,
12
+ ): Promise<Catalog> {
13
+ const { rootDirectoryPath, projectConfig, datasource } = deps;
14
+
15
+ const result: Catalog = {
16
+ links: undefined,
17
+ projectConfig: {
18
+ tags: projectConfig.tags,
19
+ },
20
+ entities: {
21
+ attributes: {},
22
+ events: {},
23
+ destinations: {},
24
+ effects: {},
25
+ },
26
+ };
27
+
28
+ /**
29
+ * Links
30
+ */
31
+ if (repoDetails) {
32
+ const {
33
+ relativeAttributesPath,
34
+ relativeEventsPath,
35
+ relativeDestinationsPath,
36
+ relativeEffectsPath,
37
+ } = getRelativePaths(rootDirectoryPath, projectConfig);
38
+
39
+ let prefix = "";
40
+ if (repoDetails.topLevelPath !== rootDirectoryPath) {
41
+ prefix = rootDirectoryPath.replace(repoDetails.topLevelPath + "/", "") + "/";
42
+ }
43
+
44
+ result.links = {
45
+ attribute: repoDetails.blobUrl.replace(
46
+ "{{blobPath}}",
47
+ prefix + relativeAttributesPath + "/{{name}}." + datasource.getExtension(),
48
+ ),
49
+ event: repoDetails.blobUrl.replace(
50
+ "{{blobPath}}",
51
+ prefix + relativeEventsPath + "/{{name}}." + datasource.getExtension(),
52
+ ),
53
+ destination: repoDetails.blobUrl.replace(
54
+ "{{blobPath}}",
55
+ prefix + relativeDestinationsPath + "/{{name}}." + datasource.getExtension(),
56
+ ),
57
+ effect: repoDetails.blobUrl.replace(
58
+ "{{blobPath}}",
59
+ prefix + relativeEffectsPath + "/{{name}}." + datasource.getExtension(),
60
+ ),
61
+ commit: repoDetails.commitUrl,
62
+ };
63
+ }
64
+
65
+ /**
66
+ * Entities
67
+ */
68
+ // events
69
+ const eventFiles = await datasource.listEvents();
70
+
71
+ for (const entityName of eventFiles) {
72
+ const parsed = await datasource.readEvent(entityName);
73
+
74
+ result.entities.events[entityName] = {
75
+ ...parsed,
76
+ lastModified: getLastModifiedFromHistory(fullHistory, "event", entityName),
77
+ };
78
+ }
79
+
80
+ // destinations
81
+ const destinationFiles = await datasource.listDestinations();
82
+ for (const entityName of destinationFiles) {
83
+ const parsed = await datasource.readDestination(entityName);
84
+
85
+ result.entities.destinations[entityName] = {
86
+ ...parsed,
87
+ lastModified: getLastModifiedFromHistory(fullHistory, "destination", entityName),
88
+ };
89
+ }
90
+
91
+ // effects
92
+ const effectFiles = await datasource.listEffects();
93
+ for (const entityName of effectFiles) {
94
+ const parsed = await datasource.readEffect(entityName);
95
+
96
+ result.entities.effects[entityName] = {
97
+ ...parsed,
98
+ lastModified: getLastModifiedFromHistory(fullHistory, "effect", entityName),
99
+ };
100
+ }
101
+
102
+ // attributes
103
+ const attributeFiles = await datasource.listAttributes();
104
+ for (const entityName of attributeFiles) {
105
+ const parsed = await datasource.readAttribute(entityName);
106
+
107
+ result.entities.attributes[entityName] = {
108
+ ...parsed,
109
+ lastModified: getLastModifiedFromHistory(fullHistory, "attribute", entityName),
110
+ };
111
+ }
112
+
113
+ return result;
114
+ }