@eventcatalog/sdk 1.4.5 → 1.4.7
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/dist/channels.js +36 -18
- package/dist/channels.js.map +1 -1
- package/dist/channels.mjs +36 -18
- package/dist/channels.mjs.map +1 -1
- package/dist/commands.js +37 -19
- package/dist/commands.js.map +1 -1
- package/dist/commands.mjs +37 -19
- package/dist/commands.mjs.map +1 -1
- package/dist/domains.js +37 -19
- package/dist/domains.js.map +1 -1
- package/dist/domains.mjs +37 -19
- package/dist/domains.mjs.map +1 -1
- package/dist/events.js +37 -19
- package/dist/events.js.map +1 -1
- package/dist/events.mjs +37 -19
- package/dist/events.mjs.map +1 -1
- package/dist/index.js +45 -26
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +45 -26
- package/dist/index.mjs.map +1 -1
- package/dist/queries.js +37 -19
- package/dist/queries.js.map +1 -1
- package/dist/queries.mjs +37 -19
- package/dist/queries.mjs.map +1 -1
- package/dist/services.js +38 -20
- package/dist/services.js.map +1 -1
- package/dist/services.mjs +38 -20
- package/dist/services.mjs.map +1 -1
- package/dist/teams.js +4 -2
- package/dist/teams.js.map +1 -1
- package/dist/teams.mjs +3 -2
- package/dist/teams.mjs.map +1 -1
- package/dist/users.js +5 -4
- package/dist/users.js.map +1 -1
- package/dist/users.mjs +4 -4
- package/dist/users.mjs.map +1 -1
- package/package.json +3 -1
package/dist/index.mjs
CHANGED
|
@@ -8,6 +8,7 @@ import { join as join3 } from "node:path";
|
|
|
8
8
|
// src/internal/utils.ts
|
|
9
9
|
import { glob } from "glob";
|
|
10
10
|
import fs from "node:fs/promises";
|
|
11
|
+
import fsSync from "node:fs";
|
|
11
12
|
import { copy } from "fs-extra";
|
|
12
13
|
import { join } from "node:path";
|
|
13
14
|
import matter from "gray-matter";
|
|
@@ -69,7 +70,7 @@ var searchFilesForId = async (files, id, version) => {
|
|
|
69
70
|
};
|
|
70
71
|
var copyDir = async (catalogDir, source, target, filter) => {
|
|
71
72
|
const tmpDirectory = join(catalogDir, "tmp");
|
|
72
|
-
|
|
73
|
+
fsSync.mkdirSync(tmpDirectory, { recursive: true });
|
|
73
74
|
await copy(source, tmpDirectory, {
|
|
74
75
|
overwrite: true,
|
|
75
76
|
filter
|
|
@@ -78,7 +79,7 @@ var copyDir = async (catalogDir, source, target, filter) => {
|
|
|
78
79
|
overwrite: true,
|
|
79
80
|
filter
|
|
80
81
|
});
|
|
81
|
-
|
|
82
|
+
fsSync.rmSync(tmpDirectory, { recursive: true });
|
|
82
83
|
};
|
|
83
84
|
var uniqueVersions = (messages) => {
|
|
84
85
|
const uniqueSet = /* @__PURE__ */ new Set();
|
|
@@ -96,7 +97,9 @@ var uniqueVersions = (messages) => {
|
|
|
96
97
|
import { dirname, join as join2 } from "path";
|
|
97
98
|
import matter2 from "gray-matter";
|
|
98
99
|
import fs2 from "node:fs/promises";
|
|
100
|
+
import fsSync2 from "node:fs";
|
|
99
101
|
import { satisfies as satisfies2 } from "semver";
|
|
102
|
+
import { lock, unlock } from "proper-lockfile";
|
|
100
103
|
var versionResource = async (catalogDir, id) => {
|
|
101
104
|
const files = await getFiles(`${catalogDir}/**/index.md`);
|
|
102
105
|
const matchedFiles = await searchFilesForId(files, id);
|
|
@@ -107,7 +110,7 @@ var versionResource = async (catalogDir, id) => {
|
|
|
107
110
|
const sourceDirectory = dirname(file);
|
|
108
111
|
const { data: { version = "0.0.1" } = {} } = matter2.read(file);
|
|
109
112
|
const targetDirectory = getVersionedDirectory(sourceDirectory, version);
|
|
110
|
-
|
|
113
|
+
fsSync2.mkdirSync(targetDirectory, { recursive: true });
|
|
111
114
|
await copyDir(catalogDir, sourceDirectory, targetDirectory, (src) => {
|
|
112
115
|
return !src.includes("versioned");
|
|
113
116
|
});
|
|
@@ -115,7 +118,7 @@ var versionResource = async (catalogDir, id) => {
|
|
|
115
118
|
await Promise.all(
|
|
116
119
|
resourceFiles.map(async (file2) => {
|
|
117
120
|
if (file2 !== "versioned") {
|
|
118
|
-
|
|
121
|
+
fsSync2.rmSync(join2(sourceDirectory, file2), { recursive: true });
|
|
119
122
|
}
|
|
120
123
|
})
|
|
121
124
|
);
|
|
@@ -128,24 +131,39 @@ var writeResource = async (catalogDir, resource, options = {
|
|
|
128
131
|
versionExistingContent: false
|
|
129
132
|
}) => {
|
|
130
133
|
const path = options.path || `/${resource.id}`;
|
|
131
|
-
const
|
|
132
|
-
|
|
133
|
-
|
|
134
|
+
const fullPath = join2(catalogDir, path);
|
|
135
|
+
fsSync2.mkdirSync(fullPath, { recursive: true });
|
|
136
|
+
const lockPath = join2(fullPath, "index.md");
|
|
137
|
+
if (!fsSync2.existsSync(lockPath)) {
|
|
138
|
+
fsSync2.writeFileSync(lockPath, "");
|
|
134
139
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
140
|
+
try {
|
|
141
|
+
await lock(lockPath, {
|
|
142
|
+
retries: 5,
|
|
143
|
+
stale: 1e4
|
|
144
|
+
// 10 seconds
|
|
145
|
+
});
|
|
146
|
+
const exists = await versionExists(catalogDir, resource.id, resource.version);
|
|
147
|
+
if (exists && !options.override) {
|
|
148
|
+
throw new Error(`Failed to write ${resource.id} (${options.type}) as the version ${resource.version} already exists`);
|
|
149
|
+
}
|
|
150
|
+
const { markdown, ...frontmatter } = resource;
|
|
151
|
+
if (options.versionExistingContent && !exists) {
|
|
152
|
+
const currentResource = await getResource(catalogDir, resource.id);
|
|
153
|
+
if (currentResource) {
|
|
154
|
+
if (satisfies2(resource.version, `>${currentResource.version}`)) {
|
|
155
|
+
await versionResource(catalogDir, resource.id);
|
|
156
|
+
} else {
|
|
157
|
+
throw new Error(`New version ${resource.version} is not greater than current version ${currentResource.version}`);
|
|
158
|
+
}
|
|
143
159
|
}
|
|
144
160
|
}
|
|
161
|
+
const document = matter2.stringify(markdown.trim(), frontmatter);
|
|
162
|
+
fsSync2.writeFileSync(lockPath, document);
|
|
163
|
+
} finally {
|
|
164
|
+
await unlock(lockPath).catch(() => {
|
|
165
|
+
});
|
|
145
166
|
}
|
|
146
|
-
const document = matter2.stringify(markdown.trim(), frontmatter);
|
|
147
|
-
await fs2.mkdir(join2(catalogDir, path), { recursive: true });
|
|
148
|
-
return await fs2.writeFile(join2(catalogDir, path, "index.md"), document);
|
|
149
167
|
};
|
|
150
168
|
var getResource = async (catalogDir, id, version, options) => {
|
|
151
169
|
const file = await findFileById(catalogDir, id, version);
|
|
@@ -192,14 +210,14 @@ var rmResourceById = async (catalogDir, id, version, options) => {
|
|
|
192
210
|
var addFileToResource = async (catalogDir, id, file, version) => {
|
|
193
211
|
const pathToResource = await findFileById(catalogDir, id, version);
|
|
194
212
|
if (!pathToResource) throw new Error("Cannot find directory to write file to");
|
|
195
|
-
|
|
213
|
+
fsSync2.writeFileSync(join2(dirname(pathToResource), file.fileName), file.content);
|
|
196
214
|
};
|
|
197
215
|
var getFileFromResource = async (catalogDir, id, file, version) => {
|
|
198
216
|
const pathToResource = await findFileById(catalogDir, id, version);
|
|
199
217
|
if (!pathToResource) throw new Error("Cannot find directory of resource");
|
|
200
218
|
const exists = await fs2.access(join2(dirname(pathToResource), file.fileName)).then(() => true).catch(() => false);
|
|
201
219
|
if (!exists) throw new Error(`File ${file.fileName} does not exist in resource ${id} v(${version})`);
|
|
202
|
-
return
|
|
220
|
+
return fsSync2.readFileSync(join2(dirname(pathToResource), file.fileName), "utf-8");
|
|
203
221
|
};
|
|
204
222
|
var getVersionedDirectory = (sourceDirectory, version) => {
|
|
205
223
|
return join2(sourceDirectory, "versioned", version);
|
|
@@ -470,6 +488,7 @@ var addMessageToChannel = (directory, collection) => async (id, _message, versio
|
|
|
470
488
|
|
|
471
489
|
// src/teams.ts
|
|
472
490
|
import fs9 from "node:fs/promises";
|
|
491
|
+
import fsSync3 from "node:fs";
|
|
473
492
|
import { join as join9 } from "node:path";
|
|
474
493
|
import matter3 from "gray-matter";
|
|
475
494
|
var getTeam = (catalogDir) => async (id) => {
|
|
@@ -506,15 +525,15 @@ var writeTeam = (catalogDir) => async (team, options = {}) => {
|
|
|
506
525
|
}
|
|
507
526
|
const { markdown, ...frontmatter } = resource;
|
|
508
527
|
const document = matter3.stringify(markdown, frontmatter);
|
|
509
|
-
|
|
510
|
-
|
|
528
|
+
fsSync3.mkdirSync(join9(catalogDir, ""), { recursive: true });
|
|
529
|
+
fsSync3.writeFileSync(join9(catalogDir, "", `${resource.id}.md`), document);
|
|
511
530
|
};
|
|
512
531
|
var rmTeamById = (catalogDir) => async (id) => {
|
|
513
532
|
await fs9.rm(join9(catalogDir, `${id}.md`), { recursive: true });
|
|
514
533
|
};
|
|
515
534
|
|
|
516
535
|
// src/users.ts
|
|
517
|
-
import
|
|
536
|
+
import fsSync4 from "node:fs";
|
|
518
537
|
import { join as join10 } from "node:path";
|
|
519
538
|
import matter4 from "gray-matter";
|
|
520
539
|
var getUser = (catalogDir) => async (id) => {
|
|
@@ -553,11 +572,11 @@ var writeUser = (catalogDir) => async (user, options = {}) => {
|
|
|
553
572
|
}
|
|
554
573
|
const { markdown, ...frontmatter } = resource;
|
|
555
574
|
const document = matter4.stringify(markdown, frontmatter);
|
|
556
|
-
|
|
557
|
-
|
|
575
|
+
fsSync4.mkdirSync(join10(catalogDir, ""), { recursive: true });
|
|
576
|
+
fsSync4.writeFileSync(join10(catalogDir, "", `${resource.id}.md`), document);
|
|
558
577
|
};
|
|
559
578
|
var rmUserById = (catalogDir) => async (id) => {
|
|
560
|
-
|
|
579
|
+
fsSync4.rmSync(join10(catalogDir, `${id}.md`), { recursive: true });
|
|
561
580
|
};
|
|
562
581
|
|
|
563
582
|
// src/index.ts
|