@eventcatalog/core 0.0.7 → 0.0.8

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 (154) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/build-manifest.json +110 -0
  3. package/.next/cache/.tsbuildinfo +1 -0
  4. package/.next/cache/config.json +7 -0
  5. package/.next/cache/eslint/.cache_1bay4w0 +1 -0
  6. package/.next/cache/next-server.js.nft.json +1 -0
  7. package/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/.next/cache/webpack/client-production/index.pack +0 -0
  9. package/.next/cache/webpack/server-production/0.pack +0 -0
  10. package/.next/cache/webpack/server-production/index.pack +0 -0
  11. package/.next/export-marker.json +1 -0
  12. package/.next/images-manifest.json +1 -0
  13. package/.next/next-server.js.nft.json +1 -0
  14. package/.next/prerender-manifest.json +1 -0
  15. package/.next/react-loadable-manifest.json +1717 -0
  16. package/.next/required-server-files.json +1 -0
  17. package/.next/routes-manifest.json +1 -0
  18. package/.next/server/chunks/237.js +116 -0
  19. package/.next/server/chunks/428.js +84 -0
  20. package/.next/server/chunks/47.js +51 -0
  21. package/.next/server/chunks/526.js +131 -0
  22. package/.next/server/chunks/565.js +121 -0
  23. package/.next/server/chunks/596.js +98 -0
  24. package/.next/server/chunks/730.js +324 -0
  25. package/.next/server/chunks/8.js +122 -0
  26. package/.next/server/chunks/938.js +109 -0
  27. package/.next/server/chunks/944.js +649 -0
  28. package/.next/server/chunks/959.js +286 -0
  29. package/.next/server/chunks/97.js +1837 -0
  30. package/.next/server/chunks/font-manifest.json +1 -0
  31. package/.next/server/font-manifest.json +1 -0
  32. package/.next/server/middleware-manifest.json +6 -0
  33. package/.next/server/pages/404.html +1 -0
  34. package/.next/server/pages/500.html +1 -0
  35. package/.next/server/pages/_app.js +370 -0
  36. package/.next/server/pages/_app.js.nft.json +1 -0
  37. package/.next/server/pages/_document.js +1004 -0
  38. package/.next/server/pages/_document.js.nft.json +1 -0
  39. package/.next/server/pages/_error.js +123 -0
  40. package/.next/server/pages/_error.js.nft.json +1 -0
  41. package/.next/server/pages/api/event/[name]/download.js +64 -0
  42. package/.next/server/pages/api/event/[name]/download.js.nft.json +1 -0
  43. package/.next/server/pages/events/AddedItemToCart.html +73 -0
  44. package/.next/server/pages/events/AddedItemToCart.json +1 -0
  45. package/.next/server/pages/events/OrderComplete.html +48 -0
  46. package/.next/server/pages/events/OrderComplete.json +1 -0
  47. package/.next/server/pages/events/OrderConfirmed.html +48 -0
  48. package/.next/server/pages/events/OrderConfirmed.json +1 -0
  49. package/.next/server/pages/events/OrderRequested.html +48 -0
  50. package/.next/server/pages/events/OrderRequested.json +1 -0
  51. package/.next/server/pages/events/PaymentProcessed.html +52 -0
  52. package/.next/server/pages/events/PaymentProcessed.json +1 -0
  53. package/.next/server/pages/events/RemovedItemFromCart.html +55 -0
  54. package/.next/server/pages/events/RemovedItemFromCart.json +1 -0
  55. package/.next/server/pages/events/ShipmentDelivered.html +53 -0
  56. package/.next/server/pages/events/ShipmentDelivered.json +1 -0
  57. package/.next/server/pages/events/ShipmentDispatched.html +52 -0
  58. package/.next/server/pages/events/ShipmentDispatched.json +1 -0
  59. package/.next/server/pages/events/ShipmentPrepared.html +52 -0
  60. package/.next/server/pages/events/ShipmentPrepared.json +1 -0
  61. package/.next/server/pages/events/[name]/logs.js +416 -0
  62. package/.next/server/pages/events/[name]/logs.js.nft.json +1 -0
  63. package/.next/server/pages/events/[name]/v/[version].js +274 -0
  64. package/.next/server/pages/events/[name]/v/[version].js.nft.json +1 -0
  65. package/.next/server/pages/events/[name].js +235 -0
  66. package/.next/server/pages/events/[name].js.nft.json +1 -0
  67. package/.next/server/pages/events.js +519 -0
  68. package/.next/server/pages/events.js.nft.json +1 -0
  69. package/.next/server/pages/index.html +1 -0
  70. package/.next/server/pages/index.js.nft.json +1 -0
  71. package/.next/server/pages/overview.js +240 -0
  72. package/.next/server/pages/overview.js.nft.json +1 -0
  73. package/.next/server/pages/services/Basket Service.html +11 -0
  74. package/.next/server/pages/services/Basket Service.json +1 -0
  75. package/.next/server/pages/services/Data Lake.html +12 -0
  76. package/.next/server/pages/services/Data Lake.json +1 -0
  77. package/.next/server/pages/services/Payment Service.html +10 -0
  78. package/.next/server/pages/services/Payment Service.json +1 -0
  79. package/.next/server/pages/services/Shipping Service.html +14 -0
  80. package/.next/server/pages/services/Shipping Service.json +1 -0
  81. package/.next/server/pages/services/[name].js +675 -0
  82. package/.next/server/pages/services/[name].js.nft.json +1 -0
  83. package/.next/server/pages/services.js +396 -0
  84. package/.next/server/pages/services.js.nft.json +1 -0
  85. package/.next/server/pages/users/[id].js +327 -0
  86. package/.next/server/pages/users/[id].js.nft.json +1 -0
  87. package/.next/server/pages-manifest.json +16 -0
  88. package/.next/server/webpack-api-runtime.js +160 -0
  89. package/.next/server/webpack-runtime.js +264 -0
  90. package/.next/static/chunks/020d8314.aea2d24215754e7b.js +1 -0
  91. package/.next/static/chunks/176cb4e4-8a0f6f010ef8accb.js +1 -0
  92. package/.next/static/chunks/236-0acd5083c102a9cb.js +1 -0
  93. package/.next/static/chunks/274-11c4d093341d7201.js +1 -0
  94. package/.next/static/chunks/336-5d9007a96aa8f2c7.js +1 -0
  95. package/.next/static/chunks/364-3cb3c8cf1d3c95de.js +1 -0
  96. package/.next/static/chunks/519-7f22292093abd7c3.js +1 -0
  97. package/.next/static/chunks/638.d570519ae49c92c8.js +1 -0
  98. package/.next/static/chunks/873-9d69271e4b2dd496.js +1 -0
  99. package/.next/static/chunks/962-d5070461f6d4a478.js +1 -0
  100. package/.next/static/chunks/framework-576ec6a1c1386453.js +1 -0
  101. package/.next/static/chunks/main-0289ecbd51cd4cb4.js +1 -0
  102. package/.next/static/chunks/pages/_app-c9d3172cc09cf069.js +1 -0
  103. package/.next/static/chunks/pages/_error-5a714c45c50a8db4.js +1 -0
  104. package/.next/static/chunks/pages/events/[name]/logs-f8568627ce642d13.js +1 -0
  105. package/.next/static/chunks/pages/events/[name]/v/[version]-dc146dc9bfa7362d.js +1 -0
  106. package/.next/static/chunks/pages/events/[name]-fb77119f66a5793e.js +1 -0
  107. package/.next/static/chunks/pages/events-bcad8442f21d6b67.js +1 -0
  108. package/.next/static/chunks/pages/index-3eeab7e4014a02ea.js +1 -0
  109. package/.next/static/chunks/pages/overview-5ac749891cbe1922.js +1 -0
  110. package/.next/static/chunks/pages/services/[name]-69692188d11304b7.js +1 -0
  111. package/.next/static/chunks/pages/services-bcc61898062e1bf4.js +1 -0
  112. package/.next/static/chunks/pages/users/[id]-2da54ccb6319b207.js +1 -0
  113. package/.next/static/chunks/polyfills-5cd94c89d3acac5f.js +1 -0
  114. package/.next/static/chunks/webpack-afe52d4a9fcc5a75.js +1 -0
  115. package/.next/static/css/5eeed9cb243ce668.css +1 -0
  116. package/.next/static/css/b44e1178a88a93b4.css +3 -0
  117. package/.next/static/vhOn9sHATcc4EnbZ7-GDM/_buildManifest.js +1 -0
  118. package/.next/static/vhOn9sHATcc4EnbZ7-GDM/_middlewareManifest.js +1 -0
  119. package/.next/static/vhOn9sHATcc4EnbZ7-GDM/_ssgManifest.js +1 -0
  120. package/.next/trace +37 -0
  121. package/CHANGELOG.md +12 -0
  122. package/bin/eventcatalog.js +4 -15
  123. package/components/ContentView.tsx +22 -29
  124. package/components/Grids/EventGrid.tsx +3 -13
  125. package/components/Grids/ServiceGrid.tsx +3 -11
  126. package/components/Header.tsx +1 -3
  127. package/components/Mdx/Examples.tsx +2 -9
  128. package/components/NotFound/index.tsx +2 -6
  129. package/components/Sidebars/EventSidebar.tsx +19 -14
  130. package/components/Sidebars/ServiceSidebar.tsx +26 -25
  131. package/eventcatalog.config.js +40 -0
  132. package/hooks/EventCatalog.tsx +1 -1
  133. package/lib/__tests__/assets/services/Basket Service/index.md +19 -0
  134. package/lib/__tests__/events.spec.ts +16 -27
  135. package/lib/__tests__/file-reader.spec.ts +3 -9
  136. package/lib/__tests__/services.spec.ts +27 -6
  137. package/lib/events.ts +4 -9
  138. package/lib/file-reader.ts +1 -3
  139. package/lib/graphs.ts +2 -4
  140. package/lib/services.ts +5 -11
  141. package/package.json +2 -2
  142. package/pages/_app.tsx +3 -12
  143. package/pages/events/[name]/logs.tsx +4 -13
  144. package/pages/events/[name].tsx +4 -13
  145. package/pages/events.tsx +5 -16
  146. package/pages/index.tsx +2 -9
  147. package/pages/overview.tsx +1 -4
  148. package/pages/services/[name].tsx +2 -2
  149. package/pages/services.tsx +2 -6
  150. package/pages/users/[id].tsx +4 -13
  151. package/scripts/__tests__/assets/eventcatalog.config.js +1 -2
  152. package/scripts/__tests__/generate.spec.ts +1 -4
  153. package/tailwind.config.js +1 -5
  154. package/tsconfig.json +1 -7
@@ -0,0 +1,286 @@
1
+ "use strict";
2
+ exports.id = 959;
3
+ exports.ids = [959];
4
+ exports.modules = {
5
+
6
+ /***/ 9959:
7
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
8
+
9
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__) => {
10
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11
+ /* harmony export */ "Bp": () => (/* binding */ getLogsForEvent),
12
+ /* harmony export */ "IP": () => (/* binding */ getAllEvents),
13
+ /* harmony export */ "Zh": () => (/* binding */ getEventByName),
14
+ /* harmony export */ "ah": () => (/* binding */ getUniqueServicesNamesFromEvents),
15
+ /* harmony export */ "Lf": () => (/* binding */ getAllEventsByOwnerId),
16
+ /* harmony export */ "X4": () => (/* binding */ getAllEventsThatHaveRelationshipWithService)
17
+ /* harmony export */ });
18
+ /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7147);
19
+ /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_0__);
20
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1017);
21
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__);
22
+ /* harmony import */ var next_mdx_remote_serialize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7112);
23
+ /* harmony import */ var next_mdx_remote_serialize__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_mdx_remote_serialize__WEBPACK_IMPORTED_MODULE_2__);
24
+ /* harmony import */ var compare_versions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7795);
25
+ /* harmony import */ var compare_versions__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(compare_versions__WEBPACK_IMPORTED_MODULE_3__);
26
+ /* harmony import */ var diff__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4970);
27
+ /* harmony import */ var _file_reader__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2432);
28
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([diff__WEBPACK_IMPORTED_MODULE_4__]);
29
+ diff__WEBPACK_IMPORTED_MODULE_4__ = (__webpack_async_dependencies__.then ? await __webpack_async_dependencies__ : __webpack_async_dependencies__)[0];
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+ const parseEventFrontMatterIntoEvent = (eventFrontMatter)=>{
38
+ const { name , version , summary , producers =[] , consumers =[] , owners =[] , externalLinks =[] } = eventFrontMatter;
39
+ return {
40
+ name,
41
+ version,
42
+ summary,
43
+ producers,
44
+ consumers,
45
+ owners,
46
+ externalLinks
47
+ };
48
+ };
49
+ const versionsForEvents = (pathToEvent)=>{
50
+ const versionsDir = path__WEBPACK_IMPORTED_MODULE_1___default().join(pathToEvent, 'versioned');
51
+ if (fs__WEBPACK_IMPORTED_MODULE_0___default().existsSync(versionsDir)) {
52
+ const files = fs__WEBPACK_IMPORTED_MODULE_0___default().readdirSync(versionsDir);
53
+ return files.sort((compare_versions__WEBPACK_IMPORTED_MODULE_3___default())).reverse();
54
+ }
55
+ return [];
56
+ };
57
+ const getLogsForEvent = (eventName)=>{
58
+ const eventsDir = path__WEBPACK_IMPORTED_MODULE_1___default().join(process.env.PROJECT_DIR, 'events');
59
+ const historicVersions = versionsForEvents(path__WEBPACK_IMPORTED_MODULE_1___default().join(eventsDir, eventName));
60
+ const allVersions = historicVersions.map((version)=>({
61
+ version,
62
+ pathToDir: path__WEBPACK_IMPORTED_MODULE_1___default().join(eventsDir, eventName, 'versioned', version)
63
+ })
64
+ );
65
+ // Get the latest version
66
+ const { data: { version: latestVersion } = {
67
+ } } = (0,_file_reader__WEBPACK_IMPORTED_MODULE_5__/* .readMarkdownFile */ .ws)(path__WEBPACK_IMPORTED_MODULE_1___default().join(eventsDir, eventName, 'index.md'));
68
+ // Add the current version to the list
69
+ allVersions.unshift({
70
+ version: latestVersion,
71
+ pathToDir: path__WEBPACK_IMPORTED_MODULE_1___default().join(eventsDir, eventName)
72
+ });
73
+ const versions = allVersions.reduce((diffs, versionData, index)=>{
74
+ const hasVersionToCompareToo = !!allVersions[index + 1];
75
+ const previousVersionData = allVersions[index + 1];
76
+ // Check if both files have the schema to compare against...
77
+ if (hasVersionToCompareToo) {
78
+ const { version , pathToDir } = versionData;
79
+ const { version: previousVersion , pathToDir: previousVersionPathToDir } = previousVersionData;
80
+ const schema = (0,_file_reader__WEBPACK_IMPORTED_MODULE_5__/* .getSchemaFromDir */ .fl)(pathToDir);
81
+ const previousSchema = (0,_file_reader__WEBPACK_IMPORTED_MODULE_5__/* .getSchemaFromDir */ .fl)(previousVersionPathToDir);
82
+ let changelog = null;
83
+ try {
84
+ const { content } = (0,_file_reader__WEBPACK_IMPORTED_MODULE_5__/* .readMarkdownFile */ .ws)(path__WEBPACK_IMPORTED_MODULE_1___default().join(previousVersionPathToDir, 'changelog.md'));
85
+ changelog = content;
86
+ } catch (error) {
87
+ // nothing found it's OK.
88
+ console.log('No changelog found');
89
+ }
90
+ const comparision = {
91
+ versions: [
92
+ previousVersion,
93
+ version
94
+ ],
95
+ changelog: {
96
+ content: changelog
97
+ },
98
+ value: schema && previousSchema ? diff__WEBPACK_IMPORTED_MODULE_4__.createTwoFilesPatch(`schema.${schema.extension} (${previousVersion})`, `schema.${previousSchema.extension} (${version})`, previousSchema.snippet, schema.snippet) : null
99
+ };
100
+ diffs.push(comparision);
101
+ }
102
+ return diffs;
103
+ }, []);
104
+ const parseChangeLogs = versions.map(async (version)=>{
105
+ if (version.changelog.content) {
106
+ const mdxSource = await (0,next_mdx_remote_serialize__WEBPACK_IMPORTED_MODULE_2__.serialize)(version.changelog.content);
107
+ return {
108
+ ...version,
109
+ changelog: {
110
+ ...version.changelog,
111
+ source: mdxSource
112
+ }
113
+ };
114
+ }
115
+ return version;
116
+ });
117
+ const values = Promise.all(parseChangeLogs);
118
+ return values;
119
+ };
120
+ const getEventExamplesFromDir = (pathToExamples)=>{
121
+ let examples;
122
+ // Get examples for directory
123
+ try {
124
+ const files = fs__WEBPACK_IMPORTED_MODULE_0___default().readdirSync(pathToExamples);
125
+ examples = files.map((filename)=>{
126
+ const content = fs__WEBPACK_IMPORTED_MODULE_0___default().readFileSync(path__WEBPACK_IMPORTED_MODULE_1___default().join(pathToExamples, filename), {
127
+ encoding: 'utf-8'
128
+ });
129
+ const extension = filename.split('.').pop();
130
+ return {
131
+ name: filename,
132
+ snippet: content,
133
+ langugage: _file_reader__WEBPACK_IMPORTED_MODULE_5__/* .extentionToLanguageMap */ .Ni[extension] || extension
134
+ };
135
+ });
136
+ } catch (error) {
137
+ examples = [];
138
+ }
139
+ return examples;
140
+ };
141
+ const getAllEvents = ()=>{
142
+ const eventsDir = path__WEBPACK_IMPORTED_MODULE_1___default().join(process.env.PROJECT_DIR, 'events');
143
+ const folders = fs__WEBPACK_IMPORTED_MODULE_0___default().readdirSync(eventsDir);
144
+ return folders.map((folder)=>{
145
+ const { data } = (0,_file_reader__WEBPACK_IMPORTED_MODULE_5__/* .readMarkdownFile */ .ws)(path__WEBPACK_IMPORTED_MODULE_1___default().join(eventsDir, folder, 'index.md'));
146
+ const historicVersions = versionsForEvents(path__WEBPACK_IMPORTED_MODULE_1___default().join(eventsDir, folder));
147
+ return {
148
+ ...parseEventFrontMatterIntoEvent(data),
149
+ historicVersions
150
+ };
151
+ });
152
+ };
153
+ const getEventByName = async (eventName, version)=>{
154
+ const eventsDir = path__WEBPACK_IMPORTED_MODULE_1___default().join(process.env.PROJECT_DIR, 'events');
155
+ const eventDirectory = path__WEBPACK_IMPORTED_MODULE_1___default().join(eventsDir, eventName);
156
+ let versionDirectory = null;
157
+ if (version) {
158
+ versionDirectory = path__WEBPACK_IMPORTED_MODULE_1___default().join(eventsDir, eventName, 'versioned', version);
159
+ }
160
+ const directoryToLoadForEvent = version ? versionDirectory : eventDirectory;
161
+ try {
162
+ const { data , content } = (0,_file_reader__WEBPACK_IMPORTED_MODULE_5__/* .readMarkdownFile */ .ws)(path__WEBPACK_IMPORTED_MODULE_1___default().join(directoryToLoadForEvent, `index.md`));
163
+ const event = parseEventFrontMatterIntoEvent(data);
164
+ const mdxSource = await (0,next_mdx_remote_serialize__WEBPACK_IMPORTED_MODULE_2__.serialize)(content);
165
+ return {
166
+ event: {
167
+ ...event,
168
+ historicVersions: versionsForEvents(eventDirectory),
169
+ schema: (0,_file_reader__WEBPACK_IMPORTED_MODULE_5__/* .getSchemaFromDir */ .fl)(directoryToLoadForEvent),
170
+ examples: getEventExamplesFromDir(path__WEBPACK_IMPORTED_MODULE_1___default().join(directoryToLoadForEvent, `examples`))
171
+ },
172
+ markdown: {
173
+ content,
174
+ source: mdxSource,
175
+ lastModifiedDate: (0,_file_reader__WEBPACK_IMPORTED_MODULE_5__/* .getLastModifiedDateOfFile */ .cn)(path__WEBPACK_IMPORTED_MODULE_1___default().join(directoryToLoadForEvent, `index.md`))
176
+ }
177
+ };
178
+ } catch (error) {
179
+ console.log(error);
180
+ console.log('Failed to get event by name', eventName);
181
+ return Promise.reject();
182
+ }
183
+ };
184
+ const getUniqueServicesNamesFromEvents = (events)=>{
185
+ const allConsumersAndProducers = events.reduce((domains, event)=>{
186
+ const { consumers =[] , producers =[] } = event;
187
+ return domains.concat(consumers).concat(producers);
188
+ }, []);
189
+ const data = allConsumersAndProducers.map((service)=>service
190
+ );
191
+ // @ts-ignore
192
+ return [
193
+ ...new Set(data)
194
+ ];
195
+ };
196
+ const getAllEventsByOwnerId = async (ownerId)=>{
197
+ const events = await getAllEvents();
198
+ return events.filter(({ owners =[] })=>owners.some((id)=>id === ownerId
199
+ )
200
+ );
201
+ };
202
+ const getAllEventsThatHaveRelationshipWithService = (service, events)=>{
203
+ const relationshipsBetweenEvents = events.reduce((data, event)=>{
204
+ const serviceSubscribesToEvent = event.consumers.some((id)=>id === service.name
205
+ );
206
+ const servicePublishesEvent = event.producers.some((id)=>id === service.name
207
+ );
208
+ return {
209
+ publishes: servicePublishesEvent ? data.publishes.concat(event) : data.publishes,
210
+ subscribes: serviceSubscribesToEvent ? data.subscribes.concat(event) : data.subscribes
211
+ };
212
+ }, {
213
+ publishes: [],
214
+ subscribes: []
215
+ });
216
+ return relationshipsBetweenEvents;
217
+ };
218
+
219
+ });
220
+
221
+ /***/ }),
222
+
223
+ /***/ 2432:
224
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
225
+
226
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
227
+ /* harmony export */ "Ni": () => (/* binding */ extentionToLanguageMap),
228
+ /* harmony export */ "ws": () => (/* binding */ readMarkdownFile),
229
+ /* harmony export */ "fl": () => (/* binding */ getSchemaFromDir),
230
+ /* harmony export */ "cn": () => (/* binding */ getLastModifiedDateOfFile)
231
+ /* harmony export */ });
232
+ /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7147);
233
+ /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_0__);
234
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1017);
235
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__);
236
+ /* harmony import */ var gray_matter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8076);
237
+ /* harmony import */ var gray_matter__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(gray_matter__WEBPACK_IMPORTED_MODULE_2__);
238
+
239
+
240
+
241
+ // https://github.com/react-syntax-highlighter/react-syntax-highlighter/blob/master/AVAILABLE_LANGUAGES_HLJS.MD
242
+ const extentionToLanguageMap = {
243
+ cs: 'csharp',
244
+ js: 'javascript',
245
+ json: 'json',
246
+ yml: 'yml',
247
+ java: 'java',
248
+ pb: 'protobuf',
249
+ proto: 'protobuf',
250
+ thrift: 'thrift'
251
+ };
252
+ const readMarkdownFile = (pathToFile)=>{
253
+ const file = fs__WEBPACK_IMPORTED_MODULE_0___default().readFileSync(pathToFile, {
254
+ encoding: 'utf-8'
255
+ });
256
+ return gray_matter__WEBPACK_IMPORTED_MODULE_2___default()(file);
257
+ };
258
+ const getSchemaFromDir = (pathToSchemaDir)=>{
259
+ try {
260
+ const files = fs__WEBPACK_IMPORTED_MODULE_0___default().readdirSync(pathToSchemaDir);
261
+ // See if any schemas are in there, ignoring extension
262
+ const schemaFileName = files.find((fileName)=>fileName.includes('schema')
263
+ );
264
+ if (!schemaFileName) throw new Error('No schema found');
265
+ const schemaFile = fs__WEBPACK_IMPORTED_MODULE_0___default().readFileSync(path__WEBPACK_IMPORTED_MODULE_1___default().join(pathToSchemaDir, schemaFileName), 'utf-8');
266
+ const extension = schemaFileName.split('.').pop();
267
+ return {
268
+ snippet: `${schemaFile}`,
269
+ language: extentionToLanguageMap[extension] || extension,
270
+ extension
271
+ };
272
+ } catch (error) {
273
+ return null;
274
+ }
275
+ };
276
+ const getLastModifiedDateOfFile = (filePath)=>{
277
+ const stats = fs__WEBPACK_IMPORTED_MODULE_0___default().statSync(filePath);
278
+ const lastModifiedDate = new Date(stats.mtime);
279
+ return `${lastModifiedDate.getFullYear()}/${lastModifiedDate.getMonth() + 1}/${lastModifiedDate.getDate()}`;
280
+ };
281
+
282
+
283
+ /***/ })
284
+
285
+ };
286
+ ;