@eventvisor/core 0.6.0 → 0.7.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 +11 -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
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.7.0](https://github.com/eventvisor/eventvisor/compare/v0.6.0...v0.7.0) (2025-10-19)
7
+
8
+
9
+ ### Features
10
+
11
+ * catalog base ([#22](https://github.com/eventvisor/eventvisor/issues/22)) ([30690e7](https://github.com/eventvisor/eventvisor/commit/30690e732db1b0ca232b888617d12bccf2f2c6f1))
12
+
13
+
14
+
15
+
16
+
6
17
  # [0.6.0](https://github.com/eventvisor/eventvisor/compare/v0.5.0...v0.6.0) (2025-10-04)
7
18
 
8
19
  **Note:** Version bump only for package @eventvisor/core
@@ -0,0 +1,4 @@
1
+ import type { HistoryEntry, Catalog } from "@eventvisor/types";
2
+ import { RepoDetails } from "./getRepoDetails";
3
+ import { Dependencies } from "../dependencies";
4
+ export declare function buildCatalog(deps: Dependencies, fullHistory: HistoryEntry[], repoDetails: RepoDetails | undefined): Promise<Catalog>;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildCatalog = buildCatalog;
4
+ const getRelativePaths_1 = require("./getRelativePaths");
5
+ const getLastModifiedFromHistory_1 = require("./getLastModifiedFromHistory");
6
+ async function buildCatalog(deps, fullHistory, repoDetails) {
7
+ const { rootDirectoryPath, projectConfig, datasource } = deps;
8
+ const result = {
9
+ links: undefined,
10
+ projectConfig: {
11
+ tags: projectConfig.tags,
12
+ },
13
+ entities: {
14
+ attributes: {},
15
+ events: {},
16
+ destinations: {},
17
+ effects: {},
18
+ },
19
+ };
20
+ /**
21
+ * Links
22
+ */
23
+ if (repoDetails) {
24
+ const { relativeAttributesPath, relativeEventsPath, relativeDestinationsPath, relativeEffectsPath, } = (0, getRelativePaths_1.getRelativePaths)(rootDirectoryPath, projectConfig);
25
+ let prefix = "";
26
+ if (repoDetails.topLevelPath !== rootDirectoryPath) {
27
+ prefix = rootDirectoryPath.replace(repoDetails.topLevelPath + "/", "") + "/";
28
+ }
29
+ result.links = {
30
+ attribute: repoDetails.blobUrl.replace("{{blobPath}}", prefix + relativeAttributesPath + "/{{name}}." + datasource.getExtension()),
31
+ event: repoDetails.blobUrl.replace("{{blobPath}}", prefix + relativeEventsPath + "/{{name}}." + datasource.getExtension()),
32
+ destination: repoDetails.blobUrl.replace("{{blobPath}}", prefix + relativeDestinationsPath + "/{{name}}." + datasource.getExtension()),
33
+ effect: repoDetails.blobUrl.replace("{{blobPath}}", prefix + relativeEffectsPath + "/{{name}}." + datasource.getExtension()),
34
+ commit: repoDetails.commitUrl,
35
+ };
36
+ }
37
+ /**
38
+ * Entities
39
+ */
40
+ // events
41
+ const eventFiles = await datasource.listEvents();
42
+ for (const entityName of eventFiles) {
43
+ const parsed = await datasource.readEvent(entityName);
44
+ result.entities.events[entityName] = {
45
+ ...parsed,
46
+ lastModified: (0, getLastModifiedFromHistory_1.getLastModifiedFromHistory)(fullHistory, "event", entityName),
47
+ };
48
+ }
49
+ // destinations
50
+ const destinationFiles = await datasource.listDestinations();
51
+ for (const entityName of destinationFiles) {
52
+ const parsed = await datasource.readDestination(entityName);
53
+ result.entities.destinations[entityName] = {
54
+ ...parsed,
55
+ lastModified: (0, getLastModifiedFromHistory_1.getLastModifiedFromHistory)(fullHistory, "destination", entityName),
56
+ };
57
+ }
58
+ // effects
59
+ const effectFiles = await datasource.listEffects();
60
+ for (const entityName of effectFiles) {
61
+ const parsed = await datasource.readEffect(entityName);
62
+ result.entities.effects[entityName] = {
63
+ ...parsed,
64
+ lastModified: (0, getLastModifiedFromHistory_1.getLastModifiedFromHistory)(fullHistory, "effect", entityName),
65
+ };
66
+ }
67
+ // attributes
68
+ const attributeFiles = await datasource.listAttributes();
69
+ for (const entityName of attributeFiles) {
70
+ const parsed = await datasource.readAttribute(entityName);
71
+ result.entities.attributes[entityName] = {
72
+ ...parsed,
73
+ lastModified: (0, getLastModifiedFromHistory_1.getLastModifiedFromHistory)(fullHistory, "attribute", entityName),
74
+ };
75
+ }
76
+ return result;
77
+ }
78
+ //# sourceMappingURL=buildCatalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildCatalog.js","sourceRoot":"","sources":["../../src/catalog/buildCatalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Dependencies } from "../dependencies";
2
+ export declare function exportCatalog(deps: Dependencies): Promise<boolean>;
@@ -0,0 +1,62 @@
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.exportCatalog = exportCatalog;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const generateHistory_1 = require("./generateHistory");
40
+ const getRepoDetails_1 = require("./getRepoDetails");
41
+ const buildCatalog_1 = require("./buildCatalog");
42
+ async function exportCatalog(deps) {
43
+ const { projectConfig } = deps;
44
+ fs.mkdirSync(projectConfig.catalogExportDirectoryPath, { recursive: true });
45
+ const catalogPackagePath = path.dirname(require.resolve("@eventvisor/catalog/package.json"));
46
+ // copy catalog dist
47
+ const catalogDistPath = path.join(catalogPackagePath, "dist");
48
+ fs.cpSync(catalogDistPath, projectConfig.catalogExportDirectoryPath, { recursive: true });
49
+ console.log("Catalog dist copied to:", projectConfig.catalogExportDirectoryPath);
50
+ // generate history
51
+ const fullHistory = await (0, generateHistory_1.generateHistory)(deps);
52
+ // site search index
53
+ const repoDetails = (0, getRepoDetails_1.getRepoDetails)();
54
+ const catalog = await (0, buildCatalog_1.buildCatalog)(deps, fullHistory, repoDetails);
55
+ const catalogFilePath = path.join(projectConfig.catalogExportDirectoryPath, "catalog.json");
56
+ fs.writeFileSync(catalogFilePath, JSON.stringify(catalog));
57
+ console.log(`Catalog written at: ${catalogFilePath}`);
58
+ // copy datafiles
59
+ fs.cpSync(projectConfig.datafilesDirectoryPath, path.join(projectConfig.catalogExportDirectoryPath, "datafiles"), { recursive: true });
60
+ return true;
61
+ }
62
+ //# sourceMappingURL=exportCatalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exportCatalog.js","sourceRoot":"","sources":["../../src/catalog/exportCatalog.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,sCA+BC;AAvCD,uCAAyB;AACzB,2CAA6B;AAE7B,uDAAoD;AACpD,qDAAkD;AAClD,iDAA8C;AAGvC,KAAK,UAAU,aAAa,CAAC,IAAkB;IACpD,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAE/B,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,0BAA0B,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5E,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,CAAC;IAE7F,oBAAoB;IACpB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC9D,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,0BAA0B,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1F,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,aAAa,CAAC,0BAA0B,CAAC,CAAC;IAEjF,mBAAmB;IACnB,MAAM,WAAW,GAAG,MAAM,IAAA,iCAAe,EAAC,IAAI,CAAC,CAAC;IAEhD,oBAAoB;IACpB,MAAM,WAAW,GAAG,IAAA,+BAAc,GAAE,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,IAAA,2BAAY,EAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IACnE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAC;IAC5F,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,uBAAuB,eAAe,EAAE,CAAC,CAAC;IAEtD,iBAAiB;IACjB,EAAE,CAAC,MAAM,CACP,aAAa,CAAC,sBAAsB,EACpC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,0BAA0B,EAAE,WAAW,CAAC,EAChE,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { HistoryEntry } from "@eventvisor/types";
2
+ import { Dependencies } from "../dependencies";
3
+ export declare function generateHistory(deps: Dependencies): Promise<HistoryEntry[]>;
@@ -0,0 +1,64 @@
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.generateHistory = generateHistory;
37
+ const path = __importStar(require("path"));
38
+ const fs = __importStar(require("fs"));
39
+ async function generateHistory(deps) {
40
+ const { projectConfig, datasource } = deps;
41
+ try {
42
+ const fullHistory = await datasource.listHistoryEntries();
43
+ const filteredHistory = fullHistory
44
+ .map((historyEntry) => {
45
+ return {
46
+ ...historyEntry,
47
+ entities: historyEntry.entities.filter((entity) => {
48
+ // ignore test specs
49
+ return entity.type !== "test";
50
+ }),
51
+ };
52
+ })
53
+ .filter((historyEntry) => historyEntry.entities.length > 0);
54
+ const fullHistoryFilePath = path.join(projectConfig.catalogExportDirectoryPath, "history-full.json");
55
+ fs.writeFileSync(fullHistoryFilePath, JSON.stringify(filteredHistory));
56
+ console.log(`History (full) generated at: ${fullHistoryFilePath}`);
57
+ return filteredHistory;
58
+ }
59
+ catch (error) {
60
+ console.error(`Error when generating history from git: ${error.status}\n${error.stderr.toString()}`);
61
+ return [];
62
+ }
63
+ }
64
+ //# sourceMappingURL=generateHistory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateHistory.js","sourceRoot":"","sources":["../../src/catalog/generateHistory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,0CAiCC;AAvCD,2CAA6B;AAC7B,uCAAyB;AAKlB,KAAK,UAAU,eAAe,CAAC,IAAkB;IACtD,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAE3C,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,kBAAkB,EAAE,CAAC;QAE1D,MAAM,eAAe,GAAG,WAAW;aAChC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;YACpB,OAAO;gBACL,GAAG,YAAY;gBACf,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;oBAChD,oBAAoB;oBACpB,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC;gBAChC,CAAC,CAAC;aACH,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE9D,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CACnC,aAAa,CAAC,0BAA0B,EACxC,mBAAmB,CACpB,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,gCAAgC,mBAAmB,EAAE,CAAC,CAAC;QAEnE,OAAO,eAAe,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,2CAA2C,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CACtF,CAAC;QAEF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { HistoryEntry, LastModified } from "@eventvisor/types";
2
+ export declare function getLastModifiedFromHistory(fullHistory: HistoryEntry[], type: any, key: any): LastModified | undefined;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLastModifiedFromHistory = getLastModifiedFromHistory;
4
+ function getLastModifiedFromHistory(fullHistory, type, key) {
5
+ const lastModified = fullHistory.find((entry) => {
6
+ return entry.entities.find((entity) => {
7
+ return entity.type === type && entity.key === key;
8
+ });
9
+ });
10
+ if (lastModified) {
11
+ return {
12
+ commit: lastModified.commit,
13
+ timestamp: lastModified.timestamp,
14
+ author: lastModified.author,
15
+ };
16
+ }
17
+ }
18
+ //# sourceMappingURL=getLastModifiedFromHistory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLastModifiedFromHistory.js","sourceRoot":"","sources":["../../src/catalog/getLastModifiedFromHistory.ts"],"names":[],"mappings":";;AAEA,gEAkBC;AAlBD,SAAgB,0BAA0B,CACxC,WAA2B,EAC3B,IAAI,EACJ,GAAG;IAEH,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9C,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACpC,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO;YACL,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,MAAM,EAAE,YAAY,CAAC,MAAM;SAC5B,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function getOwnerAndRepoFromUrl(url: string): {
2
+ owner: string;
3
+ repo: string;
4
+ };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getOwnerAndRepoFromUrl = getOwnerAndRepoFromUrl;
4
+ function getOwnerAndRepoFromUrl(url) {
5
+ let owner;
6
+ let repo;
7
+ if (url.startsWith("https://")) {
8
+ const parts = url.split("/");
9
+ repo = parts.pop().replace(".git", "");
10
+ owner = parts.pop();
11
+ }
12
+ else if (url.startsWith("git@")) {
13
+ const urlParts = url.split(":");
14
+ const parts = urlParts[1].split("/");
15
+ repo = parts.pop().replace(".git", "");
16
+ owner = parts.pop();
17
+ }
18
+ return { owner, repo };
19
+ }
20
+ //# sourceMappingURL=getOwnerAndRepoFromUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getOwnerAndRepoFromUrl.js","sourceRoot":"","sources":["../../src/catalog/getOwnerAndRepoFromUrl.ts"],"names":[],"mappings":";;AAAA,wDAgBC;AAhBD,SAAgB,sBAAsB,CAAC,GAAW;IAChD,IAAI,KAAK,CAAC;IACV,IAAI,IAAI,CAAC;IAET,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,GAAI,KAAK,CAAC,GAAG,EAAa,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnD,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;SAAM,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,GAAI,KAAK,CAAC,GAAG,EAAa,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnD,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ProjectConfig } from "../config";
2
+ export declare function getRelativePaths(rootDirectoryPath: any, projectConfig: ProjectConfig): {
3
+ relativeEventsPath: string;
4
+ relativeDestinationsPath: string;
5
+ relativeAttributesPath: string;
6
+ relativeEffectsPath: string;
7
+ };
@@ -0,0 +1,50 @@
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.getRelativePaths = getRelativePaths;
37
+ const path = __importStar(require("path"));
38
+ function getRelativePaths(rootDirectoryPath, projectConfig) {
39
+ const relativeEventsPath = path.relative(rootDirectoryPath, projectConfig.eventsDirectoryPath);
40
+ const relativeDestinationsPath = path.relative(rootDirectoryPath, projectConfig.destinationsDirectoryPath);
41
+ const relativeAttributesPath = path.relative(rootDirectoryPath, projectConfig.attributesDirectoryPath);
42
+ const relativeEffectsPath = path.relative(rootDirectoryPath, projectConfig.effectsDirectoryPath);
43
+ return {
44
+ relativeEventsPath,
45
+ relativeDestinationsPath,
46
+ relativeAttributesPath,
47
+ relativeEffectsPath,
48
+ };
49
+ }
50
+ //# sourceMappingURL=getRelativePaths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRelativePaths.js","sourceRoot":"","sources":["../../src/catalog/getRelativePaths.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,4CAkBC;AAtBD,2CAA6B;AAI7B,SAAgB,gBAAgB,CAAC,iBAAiB,EAAE,aAA4B;IAC9E,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAC/F,MAAM,wBAAwB,GAAG,IAAI,CAAC,QAAQ,CAC5C,iBAAiB,EACjB,aAAa,CAAC,yBAAyB,CACxC,CAAC;IACF,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAC1C,iBAAiB,EACjB,aAAa,CAAC,uBAAuB,CACtC,CAAC;IACF,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAEjG,OAAO;QACL,kBAAkB;QAClB,wBAAwB;QACxB,sBAAsB;QACtB,mBAAmB;KACpB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ export interface RepoDetails {
2
+ branch: string;
3
+ remoteUrl: string;
4
+ blobUrl: string;
5
+ commitUrl: string;
6
+ topLevelPath: string;
7
+ }
8
+ export declare function getRepoDetails(): RepoDetails | undefined;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRepoDetails = getRepoDetails;
4
+ const child_process_1 = require("child_process");
5
+ const getOwnerAndRepoFromUrl_1 = require("./getOwnerAndRepoFromUrl");
6
+ function getRepoDetails() {
7
+ try {
8
+ const topLevelPathOutput = (0, child_process_1.execSync)(`git rev-parse --show-toplevel`);
9
+ const topLevelPath = topLevelPathOutput.toString().trim();
10
+ const remoteUrlOutput = (0, child_process_1.execSync)(`git remote get-url origin`);
11
+ const remoteUrl = remoteUrlOutput.toString().trim();
12
+ const branchOutput = (0, child_process_1.execSync)(`git rev-parse --abbrev-ref HEAD`);
13
+ const branch = branchOutput.toString().trim();
14
+ if (!remoteUrl || !branch) {
15
+ return;
16
+ }
17
+ const { owner, repo } = (0, getOwnerAndRepoFromUrl_1.getOwnerAndRepoFromUrl)(remoteUrl);
18
+ if (!owner || !repo) {
19
+ return;
20
+ }
21
+ let blobUrl;
22
+ let commitUrl;
23
+ if (remoteUrl.indexOf("github.com") > -1) {
24
+ blobUrl = `https://github.com/${owner}/${repo}/blob/${branch}/{{blobPath}}`;
25
+ commitUrl = `https://github.com/${owner}/${repo}/commit/{{hash}}`;
26
+ }
27
+ else if (remoteUrl.indexOf("bitbucket.org") > -1) {
28
+ blobUrl = `https://bitbucket.org/${owner}/${repo}/src/${branch}/{{blobPath}}`;
29
+ commitUrl = `https://bitbucket.org/${owner}/${repo}/commits/{{hash}}`;
30
+ }
31
+ if (!blobUrl || !commitUrl) {
32
+ return;
33
+ }
34
+ return {
35
+ branch,
36
+ remoteUrl,
37
+ blobUrl,
38
+ commitUrl,
39
+ topLevelPath,
40
+ };
41
+ }
42
+ catch (e) {
43
+ console.error(e);
44
+ return;
45
+ }
46
+ return;
47
+ }
48
+ //# sourceMappingURL=getRepoDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRepoDetails.js","sourceRoot":"","sources":["../../src/catalog/getRepoDetails.ts"],"names":[],"mappings":";;AAYA,wCAiDC;AA7DD,iDAAyC;AAEzC,qEAAkE;AAUlE,SAAgB,cAAc;IAC5B,IAAI,CAAC;QACH,MAAM,kBAAkB,GAAG,IAAA,wBAAQ,EAAC,+BAA+B,CAAC,CAAC;QACrE,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAE1D,MAAM,eAAe,GAAG,IAAA,wBAAQ,EAAC,2BAA2B,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAEpD,MAAM,YAAY,GAAG,IAAA,wBAAQ,EAAC,iCAAiC,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAE9C,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAA,+CAAsB,EAAC,SAAS,CAAC,CAAC;QAE1D,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC;QACZ,IAAI,SAAS,CAAC;QAEd,IAAI,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACzC,OAAO,GAAG,sBAAsB,KAAK,IAAI,IAAI,SAAS,MAAM,eAAe,CAAC;YAC5E,SAAS,GAAG,sBAAsB,KAAK,IAAI,IAAI,kBAAkB,CAAC;QACpE,CAAC;aAAM,IAAI,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnD,OAAO,GAAG,yBAAyB,KAAK,IAAI,IAAI,QAAQ,MAAM,eAAe,CAAC;YAC9E,SAAS,GAAG,yBAAyB,KAAK,IAAI,IAAI,mBAAmB,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,OAAO;YACL,MAAM;YACN,SAAS;YACT,OAAO;YACP,SAAS;YACT,YAAY;SACb,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO;IACT,CAAC;IAED,OAAO;AACT,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Plugin } from "../cli";
2
+ export declare const catalogPlugin: Plugin;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.catalogPlugin = void 0;
4
+ const exportCatalog_1 = require("./exportCatalog");
5
+ const serveCatalog_1 = require("./serveCatalog");
6
+ exports.catalogPlugin = {
7
+ command: "catalog",
8
+ handler: async function (options) {
9
+ const { rootDirectoryPath, projectConfig, datasource, parsed } = options;
10
+ const deps = { rootDirectoryPath, projectConfig, datasource, options: parsed };
11
+ const allowedSubcommands = ["export", "serve"];
12
+ const subcommand = parsed._[1];
13
+ if (!allowedSubcommands.includes(subcommand)) {
14
+ console.log("Please specify a subcommand: `export` or `serve`");
15
+ return;
16
+ }
17
+ // export
18
+ if (subcommand === "export") {
19
+ return await (0, exportCatalog_1.exportCatalog)(deps);
20
+ }
21
+ // serve
22
+ if (subcommand === "serve") {
23
+ return await (0, serveCatalog_1.serveCatalog)(deps);
24
+ }
25
+ },
26
+ examples: [
27
+ {
28
+ command: "catalog export",
29
+ description: "export catalog of all entities",
30
+ },
31
+ {
32
+ command: "catalog serve",
33
+ description: "serve catalog of all entities",
34
+ },
35
+ ],
36
+ };
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/catalog/index.ts"],"names":[],"mappings":";;;AACA,mDAAgD;AAChD,iDAA8C;AAGjC,QAAA,aAAa,GAAW;IACnC,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,KAAK,WAAW,OAAO;QAC9B,MAAM,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QACzE,MAAM,IAAI,GAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAE7F,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/B,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAED,SAAS;QACT,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,MAAM,IAAA,6BAAa,EAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,QAAQ;QACR,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;YAC3B,OAAO,MAAM,IAAA,2BAAY,EAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,QAAQ,EAAE;QACR;YACE,OAAO,EAAE,gBAAgB;YACzB,WAAW,EAAE,gCAAgC;SAC9C;QACD;YACE,OAAO,EAAE,eAAe;YACxB,WAAW,EAAE,+BAA+B;SAC7C;KACF;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Dependencies } from "../dependencies";
2
+ export declare function serveCatalog(deps: Dependencies): boolean;
@@ -0,0 +1,88 @@
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.serveCatalog = serveCatalog;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const http = __importStar(require("http"));
40
+ function serveCatalog(deps) {
41
+ const { projectConfig, options } = deps;
42
+ const port = options.p || 3000;
43
+ http
44
+ .createServer(function (request, response) {
45
+ const requestedUrl = request.url;
46
+ const filePath = requestedUrl === "/"
47
+ ? path.join(projectConfig.catalogExportDirectoryPath, "index.html")
48
+ : path.join(projectConfig.catalogExportDirectoryPath, requestedUrl);
49
+ console.log("requesting: " + filePath + "");
50
+ const extname = path.extname(filePath);
51
+ let contentType = "text/html";
52
+ switch (extname) {
53
+ case ".js":
54
+ contentType = "text/javascript";
55
+ break;
56
+ case ".css":
57
+ contentType = "text/css";
58
+ break;
59
+ case ".json":
60
+ contentType = "application/json";
61
+ break;
62
+ case ".png":
63
+ contentType = "image/png";
64
+ break;
65
+ }
66
+ fs.readFile(filePath, function (error, content) {
67
+ if (error) {
68
+ if (error.code == "ENOENT") {
69
+ response.writeHead(404, { "Content-Type": "text/html" });
70
+ response.end("404 Not Found", "utf-8");
71
+ }
72
+ else {
73
+ response.writeHead(500);
74
+ response.end("Error 500: " + error.code);
75
+ response.end();
76
+ }
77
+ }
78
+ else {
79
+ response.writeHead(200, { "Content-Type": contentType });
80
+ response.end(content, "utf-8");
81
+ }
82
+ });
83
+ })
84
+ .listen(port);
85
+ console.log(`Server running at http://127.0.0.1:${port}/`);
86
+ return true;
87
+ }
88
+ //# sourceMappingURL=serveCatalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serveCatalog.js","sourceRoot":"","sources":["../../src/catalog/serveCatalog.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,oCAqDC;AA3DD,uCAAyB;AACzB,2CAA6B;AAC7B,2CAA6B;AAI7B,SAAgB,YAAY,CAAC,IAAkB;IAC7C,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAExC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC;IAE/B,IAAI;SACD,YAAY,CAAC,UAAU,OAAO,EAAE,QAAQ;QACvC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;QACjC,MAAM,QAAQ,GACZ,YAAY,KAAK,GAAG;YAClB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,0BAA0B,EAAE,YAAY,CAAC;YACnE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,0BAA0B,EAAE,YAAsB,CAAC,CAAC;QAElF,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAC;QAE5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,WAAW,GAAG,WAAW,CAAC;QAC9B,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,KAAK;gBACR,WAAW,GAAG,iBAAiB,CAAC;gBAChC,MAAM;YACR,KAAK,MAAM;gBACT,WAAW,GAAG,UAAU,CAAC;gBACzB,MAAM;YACR,KAAK,OAAO;gBACV,WAAW,GAAG,kBAAkB,CAAC;gBACjC,MAAM;YACR,KAAK,MAAM;gBACT,WAAW,GAAG,WAAW,CAAC;gBAC1B,MAAM;QACV,CAAC;QAED,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,KAAK,EAAE,OAAO;YAC5C,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,KAAK,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC3B,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;oBACzD,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBACxB,QAAQ,CAAC,GAAG,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;oBACzC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACjB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;gBACzD,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;SACD,MAAM,CAAC,IAAI,CAAC,CAAC;IAEhB,OAAO,CAAC,GAAG,CAAC,sCAAsC,IAAI,GAAG,CAAC,CAAC;IAE3D,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -6,7 +6,14 @@ const linter_1 = require("../linter");
6
6
  const builder_1 = require("../builder");
7
7
  const tester_1 = require("../tester");
8
8
  const init_1 = require("../init");
9
+ const catalog_1 = require("../catalog");
9
10
  exports.commonPlugins = [];
10
11
  exports.nonProjectPlugins = [init_1.initPlugin];
11
- exports.projectBasedPlugins = [config_1.configPlugin, linter_1.lintPlugin, builder_1.buildPlugin, tester_1.testPlugin];
12
+ exports.projectBasedPlugins = [
13
+ config_1.configPlugin,
14
+ linter_1.lintPlugin,
15
+ builder_1.buildPlugin,
16
+ tester_1.testPlugin,
17
+ catalog_1.catalogPlugin,
18
+ ];
12
19
  //# sourceMappingURL=plugins.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/cli/plugins.ts"],"names":[],"mappings":";;;AAEA,sCAAyC;AACzC,sCAAuC;AACvC,wCAAyC;AACzC,sCAAuC;AACvC,kCAAqC;AAExB,QAAA,aAAa,GAAa,EAAE,CAAC;AAE7B,QAAA,iBAAiB,GAAa,CAAC,iBAAU,CAAC,CAAC;AAE3C,QAAA,mBAAmB,GAAa,CAAC,qBAAY,EAAE,mBAAU,EAAE,qBAAW,EAAE,mBAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/cli/plugins.ts"],"names":[],"mappings":";;;AAEA,sCAAyC;AACzC,sCAAuC;AACvC,wCAAyC;AACzC,sCAAuC;AACvC,kCAAqC;AACrC,wCAA2C;AAE9B,QAAA,aAAa,GAAa,EAAE,CAAC;AAE7B,QAAA,iBAAiB,GAAa,CAAC,iBAAU,CAAC,CAAC;AAE3C,QAAA,mBAAmB,GAAa;IAC3C,qBAAY;IACZ,mBAAU;IACV,qBAAW;IACX,mBAAU;IACV,uBAAa;CACd,CAAC"}
@@ -9,7 +9,7 @@ export declare const TESTS_DIRECTORY_NAME = "tests";
9
9
  export declare const SYSTEM_DIRECTORY_NAME = ".eventvisor";
10
10
  export declare const DATAFILES_DIRECTORY_NAME = "datafiles";
11
11
  export declare const DATAFILE_NAME_PATTERN = "eventvisor-%s.json";
12
- export declare const SITE_EXPORT_DIRECTORY_NAME = "out";
12
+ export declare const CATALOG_EXPORT_DIRECTORY_NAME = "out";
13
13
  export declare const CONFIG_MODULE_NAME = "eventvisor.config.js";
14
14
  export declare const ROOT_DIR_PLACEHOLDER = "<rootDir>";
15
15
  export declare const DEFAULT_PRETTY_DATAFILE = false;
@@ -25,6 +25,7 @@ export interface ProjectConfig {
25
25
  testsDirectoryPath: string;
26
26
  datafilesDirectoryPath: string;
27
27
  systemDirectoryPath: string;
28
+ catalogExportDirectoryPath: string;
28
29
  datafileNamePattern: string;
29
30
  tags: string[];
30
31
  adapter: any;