@kubb/studio 5.2.2 → 5.2.4
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/{index-Y-wkaxbL.d.ts → index-V3fjg2mj.d.ts} +3 -1
- package/dist/index.cjs +43 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +43 -3
- package/dist/index.js.map +1 -1
- package/dist/protocol.cjs.map +1 -1
- package/dist/protocol.d.ts +1 -1
- package/dist/protocol.js.map +1 -1
- package/package.json +4 -4
|
@@ -246,6 +246,8 @@ type KubbHooks$1 = {
|
|
|
246
246
|
'kubb:generation:end': [ctx: {
|
|
247
247
|
config: Config;
|
|
248
248
|
storage: Record<string, string>;
|
|
249
|
+
peerDependencies: Record<string, string>;
|
|
250
|
+
missingDependencies: Array<string>;
|
|
249
251
|
}];
|
|
250
252
|
'kubb:generation:summary': [ctx: {
|
|
251
253
|
duration: number;
|
|
@@ -564,4 +566,4 @@ declare function isStudioPingMessage(msg: AgentMessage): msg is StudioPingMessag
|
|
|
564
566
|
declare function isDisconnectMessage(msg: AgentMessage): msg is StudioDisconnectMessage;
|
|
565
567
|
//#endregion
|
|
566
568
|
export { isCommandMessage as A, StudioConnectMessage as C, StudioPingMessage as D, StudioGenerateMessage as E, isDisconnectMessage as M, isStudioPingMessage as N, StudioSaveMessage as O, PluginView as S, StudioErrorMessage as T, DataMessagePayload as _, AgentPermissions as a, KubbHooks$1 as b, ClientInfo as c, ConfigEditOutcome as d, ConfigFileView as f, DataMessage as g, ConnectMessagePayload as h, AgentMessage as i, isDataMessage as j, commandTypes as k, CommandMessage as l, ConfigView as m, AgentConnectResponse as n, AgentPingMessage as o, ConfigRef as p, AgentDisconnectMessage as r, AgentSaveMessage as s, AgentConnectMessage as t, ConfigEdit as u, JSONKubbConfig as v, StudioDisconnectMessage as w, OptionValue as x, KubbHook as y };
|
|
567
|
-
//# sourceMappingURL=index-
|
|
569
|
+
//# sourceMappingURL=index-V3fjg2mj.d.ts.map
|
package/dist/index.cjs
CHANGED
|
@@ -569,7 +569,7 @@ async function disconnect({ sessionId, token, studioUrl, slug }) {
|
|
|
569
569
|
}
|
|
570
570
|
//#endregion
|
|
571
571
|
//#region package.json
|
|
572
|
-
var version = "5.2.
|
|
572
|
+
var version = "5.2.4";
|
|
573
573
|
//#endregion
|
|
574
574
|
//#region src/hooks.ts
|
|
575
575
|
/**
|
|
@@ -675,6 +675,20 @@ function toPluginName(packageName) {
|
|
|
675
675
|
return packageName.split("/").pop() ?? packageName;
|
|
676
676
|
}
|
|
677
677
|
/**
|
|
678
|
+
* Adds the `@kubb/` scope a plugin's package carries but its `name` does not, the inverse of
|
|
679
|
+
* {@link toPluginName}. A name outside the `plugin-` convention is left alone, so a third-party
|
|
680
|
+
* plugin is not reported as one of Kubb's.
|
|
681
|
+
*
|
|
682
|
+
* @example
|
|
683
|
+
* ```ts
|
|
684
|
+
* toPackageName('plugin-ts') // '@kubb/plugin-ts'
|
|
685
|
+
* toPackageName('@acme/my-plugin') // '@acme/my-plugin'
|
|
686
|
+
* ```
|
|
687
|
+
*/
|
|
688
|
+
function toPackageName(name) {
|
|
689
|
+
return name.startsWith("plugin-") ? `@kubb/${name}` : name;
|
|
690
|
+
}
|
|
691
|
+
/**
|
|
678
692
|
* Derives the conventional named export for a `@kubb/*` plugin package from its package name.
|
|
679
693
|
*
|
|
680
694
|
* @example
|
|
@@ -1507,6 +1521,29 @@ const CONNECT_TIMEOUT_MS = 5e3;
|
|
|
1507
1521
|
* automatically once the socket is collected.
|
|
1508
1522
|
*/
|
|
1509
1523
|
const eventSeqCounters = /* @__PURE__ */ new WeakMap();
|
|
1524
|
+
const require$1 = (0, node_module.createRequire)(require("url").pathToFileURL(__filename).href);
|
|
1525
|
+
async function resolvePeerDependencies(names) {
|
|
1526
|
+
const uniqueNames = [...new Set(names.map(toPackageName))];
|
|
1527
|
+
const peerDependencies = {};
|
|
1528
|
+
const missingDependencies = [];
|
|
1529
|
+
const versions = await Promise.all(uniqueNames.map(async (name) => {
|
|
1530
|
+
try {
|
|
1531
|
+
const path = require$1.resolve(`${name}/package.json`);
|
|
1532
|
+
return JSON.parse(await (0, node_fs_promises.readFile)(path, "utf8")).version;
|
|
1533
|
+
} catch {
|
|
1534
|
+
return;
|
|
1535
|
+
}
|
|
1536
|
+
}));
|
|
1537
|
+
for (const [index, name] of uniqueNames.entries()) {
|
|
1538
|
+
const version = versions[index];
|
|
1539
|
+
if (version) peerDependencies[name] = version;
|
|
1540
|
+
else missingDependencies.push(name);
|
|
1541
|
+
}
|
|
1542
|
+
return {
|
|
1543
|
+
peerDependencies,
|
|
1544
|
+
missingDependencies
|
|
1545
|
+
};
|
|
1546
|
+
}
|
|
1510
1547
|
function nextEventSeq(ws$1) {
|
|
1511
1548
|
const seq = eventSeqCounters.get(ws$1) ?? 0;
|
|
1512
1549
|
eventSeqCounters.set(ws$1, seq + 1);
|
|
@@ -1658,6 +1695,7 @@ function setupEventsStream(ws$5, hooks) {
|
|
|
1658
1695
|
});
|
|
1659
1696
|
});
|
|
1660
1697
|
on("kubb:generation:end", async ({ config, storage, diagnostics = [], status, hrStart, filesCreated }) => {
|
|
1698
|
+
const { peerDependencies, missingDependencies } = await resolvePeerDependencies(config.plugins.map(({ name }) => name));
|
|
1661
1699
|
const paths = await storage.readKeys();
|
|
1662
1700
|
const files = {};
|
|
1663
1701
|
await inParallel({
|
|
@@ -1672,7 +1710,9 @@ function setupEventsStream(ws$5, hooks) {
|
|
|
1672
1710
|
type: "kubb:generation:end",
|
|
1673
1711
|
data: [{
|
|
1674
1712
|
config,
|
|
1675
|
-
storage: files
|
|
1713
|
+
storage: files,
|
|
1714
|
+
peerDependencies,
|
|
1715
|
+
missingDependencies
|
|
1676
1716
|
}]
|
|
1677
1717
|
});
|
|
1678
1718
|
if (!hrStart) return;
|
|
@@ -1929,7 +1969,7 @@ var StudioSession = class {
|
|
|
1929
1969
|
path: configPath,
|
|
1930
1970
|
file: await this.#readConfigFileView(),
|
|
1931
1971
|
plugins: config.plugins.map((plugin) => ({
|
|
1932
|
-
name:
|
|
1972
|
+
name: toPackageName(plugin.name),
|
|
1933
1973
|
options: plugin.options ?? {}
|
|
1934
1974
|
}))
|
|
1935
1975
|
},
|