@testsmith/api-spector 0.7.9 → 0.8.1
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/out/main/chunks/{broker-client-CJBfpvbd.js → broker-client-BQBPAPCZ.js} +1 -1
- package/out/main/chunks/{perf-run-Co_5unBR.js → perf-run-D02WoC6i.js} +1 -1
- package/out/main/chunks/{request-exec-CgyqbNWk.js → request-exec-CEmSNDIG.js} +16 -12
- package/out/main/contract.js +2 -2
- package/out/main/flow.js +2 -2
- package/out/main/index.js +20 -9
- package/out/main/lib.js +1 -1
- package/out/main/perf-worker.js +2 -2
- package/out/main/perf.js +3 -3
- package/out/main/runner.js +2 -2
- package/out/renderer/assets/{GraphQLEditor-CXvLKrnv.js → GraphQLEditor-DRHpuBUa.js} +1 -1
- package/out/renderer/assets/{SoapEditor-7hxhISPZ.js → SoapEditor-fOGCq_ap.js} +1 -1
- package/out/renderer/assets/{index-BUFSn_qD.js → index-B_7rAo5x.js} +7 -8
- package/out/renderer/index.html +1 -1
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ const promises = require("node:fs/promises");
|
|
|
3
3
|
const path = require("node:path");
|
|
4
4
|
const crypto = require("node:crypto");
|
|
5
5
|
const undici = require("undici");
|
|
6
|
-
const requestExec = require("./request-exec-
|
|
6
|
+
const requestExec = require("./request-exec-CEmSNDIG.js");
|
|
7
7
|
const Ajv = require("ajv");
|
|
8
8
|
const jsYaml = require("js-yaml");
|
|
9
9
|
require("node:http");
|
|
@@ -913,6 +913,20 @@ async function buildEnvVars(environment) {
|
|
|
913
913
|
}
|
|
914
914
|
return vars;
|
|
915
915
|
}
|
|
916
|
+
async function resolveInlineSecretRefs(text) {
|
|
917
|
+
const refs = /* @__PURE__ */ new Set();
|
|
918
|
+
for (const m of text.matchAll(/\{\{\s*([^}]+?)\s*\}\}/g)) {
|
|
919
|
+
const inner = m[1].trim();
|
|
920
|
+
if (hasSecretScheme(inner)) refs.add(inner);
|
|
921
|
+
}
|
|
922
|
+
if (refs.size === 0) return {};
|
|
923
|
+
const out = {};
|
|
924
|
+
await Promise.all([...refs].map(async (ref) => {
|
|
925
|
+
const value = await resolveExternalSecret(ref);
|
|
926
|
+
if (value !== null) out[ref] = value;
|
|
927
|
+
}));
|
|
928
|
+
return out;
|
|
929
|
+
}
|
|
916
930
|
function mergeVars(envVars, collectionVars, globals2, localVars = {}, dynamicVars = {}, folderVars = {}) {
|
|
917
931
|
const out = {};
|
|
918
932
|
for (const src of [dynamicVars, globals2, collectionVars, folderVars, envVars, localVars]) {
|
|
@@ -2604,18 +2618,7 @@ async function resolveInlineSecrets(req) {
|
|
|
2604
2618
|
req.preRequestScript ?? "",
|
|
2605
2619
|
req.postRequestScript ?? ""
|
|
2606
2620
|
].join("\n");
|
|
2607
|
-
|
|
2608
|
-
for (const m of haystack.matchAll(/\{\{\s*([^}]+?)\s*\}\}/g)) {
|
|
2609
|
-
const inner = m[1].trim();
|
|
2610
|
-
if (hasSecretScheme(inner)) refs.add(inner);
|
|
2611
|
-
}
|
|
2612
|
-
if (refs.size === 0) return {};
|
|
2613
|
-
const out = {};
|
|
2614
|
-
await Promise.all([...refs].map(async (ref) => {
|
|
2615
|
-
const value = await resolveExternalSecret(ref);
|
|
2616
|
-
if (value !== null) out[ref] = value;
|
|
2617
|
-
}));
|
|
2618
|
-
return out;
|
|
2621
|
+
return resolveInlineSecretRefs(haystack);
|
|
2619
2622
|
}
|
|
2620
2623
|
async function executeRunnerRequest(opts) {
|
|
2621
2624
|
const { req, collectionVars, envVars, globals: globals2, dispatcher, piiMaskPatterns, proxy, tls, onScriptOutput } = opts;
|
|
@@ -2938,6 +2941,7 @@ exports.registerSecretProvider = registerSecretProvider;
|
|
|
2938
2941
|
exports.registeredSchemes = registeredSchemes;
|
|
2939
2942
|
exports.resolveDataRow = resolveDataRow;
|
|
2940
2943
|
exports.resolveExternalSecret = resolveExternalSecret;
|
|
2944
|
+
exports.resolveInlineSecretRefs = resolveInlineSecretRefs;
|
|
2941
2945
|
exports.runGraphqlWsTest = runGraphqlWsTest;
|
|
2942
2946
|
exports.runMqttTest = runMqttTest;
|
|
2943
2947
|
exports.runScript = runScript;
|
package/out/main/contract.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
const promises = require("node:fs/promises");
|
|
4
4
|
const path = require("node:path");
|
|
5
|
-
const brokerClient = require("./chunks/broker-client-
|
|
5
|
+
const brokerClient = require("./chunks/broker-client-BQBPAPCZ.js");
|
|
6
6
|
const escape = require("./chunks/escape-DDVAlOvZ.js");
|
|
7
7
|
const crypto = require("node:crypto");
|
|
8
8
|
const undici = require("undici");
|
|
@@ -11,7 +11,7 @@ const cliCommon = require("./chunks/cli-common-GnihVSjU.js");
|
|
|
11
11
|
const node_child_process = require("node:child_process");
|
|
12
12
|
const jsYaml = require("js-yaml");
|
|
13
13
|
const environments = require("./chunks/environments-iM3SUM-4.js");
|
|
14
|
-
require("./chunks/request-exec-
|
|
14
|
+
require("./chunks/request-exec-CEmSNDIG.js");
|
|
15
15
|
require("fs/promises");
|
|
16
16
|
require("tls");
|
|
17
17
|
require("./chunks/handle-Crv1i9hb.js");
|
package/out/main/flow.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
const promises = require("node:fs/promises");
|
|
4
4
|
const path = require("node:path");
|
|
5
|
-
const requestExec = require("./chunks/request-exec-
|
|
5
|
+
const requestExec = require("./chunks/request-exec-CEmSNDIG.js");
|
|
6
6
|
const requestCollection = require("./chunks/request-collection-gkOYlWml.js");
|
|
7
7
|
const environments = require("./chunks/environments-iM3SUM-4.js");
|
|
8
8
|
const flowEngine = require("./chunks/flow-engine-BxwjEy37.js");
|
|
@@ -268,7 +268,7 @@ async function main() {
|
|
|
268
268
|
const envName = args.environment ?? args.env;
|
|
269
269
|
const env = environments.selectEnvironment(workspace, environments$1, envName);
|
|
270
270
|
const verbose = Boolean(args.verbose);
|
|
271
|
-
const version = `v${"0.
|
|
271
|
+
const version = `v${"0.8.1"}`;
|
|
272
272
|
console.log("");
|
|
273
273
|
console.log(cliCommon.color(" API Flow Runner" + (version ? ` ${version}` : ""), cliCommon.C.bold, cliCommon.C.white));
|
|
274
274
|
console.log(cliCommon.color(` Flow: ${flow.name}`, cliCommon.C.gray));
|
package/out/main/index.js
CHANGED
|
@@ -29,7 +29,7 @@ const promises = require("node:fs/promises");
|
|
|
29
29
|
const crypto = require("node:crypto");
|
|
30
30
|
const JSZip = require("jszip");
|
|
31
31
|
const dataFiles = require("./chunks/data-files-BYqhsoPe.js");
|
|
32
|
-
const requestExec = require("./chunks/request-exec-
|
|
32
|
+
const requestExec = require("./chunks/request-exec-CEmSNDIG.js");
|
|
33
33
|
const ipcValidate = require("./chunks/ipc-validate-sqUFqRmE.js");
|
|
34
34
|
const uuid = require("uuid");
|
|
35
35
|
const jsYaml = require("js-yaml");
|
|
@@ -48,7 +48,7 @@ const grpc = require("@grpc/grpc-js");
|
|
|
48
48
|
const protoLoader = require("@grpc/proto-loader");
|
|
49
49
|
const soapHandler = require("./chunks/soap-handler-Brr7BPWO.js");
|
|
50
50
|
const escape = require("./chunks/escape-DDVAlOvZ.js");
|
|
51
|
-
const brokerClient = require("./chunks/broker-client-
|
|
51
|
+
const brokerClient = require("./chunks/broker-client-BQBPAPCZ.js");
|
|
52
52
|
const simpleGit = require("simple-git");
|
|
53
53
|
const recorder = require("./chunks/recorder-BkO8G_mB.js");
|
|
54
54
|
const electronUpdater = require("electron-updater");
|
|
@@ -1130,7 +1130,12 @@ function parseParams$1(urlObj) {
|
|
|
1130
1130
|
function parseUrl(urlObj) {
|
|
1131
1131
|
if (!urlObj) return "";
|
|
1132
1132
|
if (typeof urlObj === "string") return urlObj;
|
|
1133
|
-
|
|
1133
|
+
const raw = urlObj.raw ?? "";
|
|
1134
|
+
if (Array.isArray(urlObj.query) && urlObj.query.length) {
|
|
1135
|
+
const q = raw.indexOf("?");
|
|
1136
|
+
if (q !== -1) return raw.slice(0, q);
|
|
1137
|
+
}
|
|
1138
|
+
return raw;
|
|
1134
1139
|
}
|
|
1135
1140
|
function parseBody$1(body) {
|
|
1136
1141
|
if (!body) return { mode: "none" };
|
|
@@ -1842,7 +1847,7 @@ function parseBruFile(content, fileName) {
|
|
|
1842
1847
|
break;
|
|
1843
1848
|
}
|
|
1844
1849
|
}
|
|
1845
|
-
|
|
1850
|
+
let url = methodAttrs["url"] ?? "";
|
|
1846
1851
|
const bodyMode = methodAttrs["body"] ?? "none";
|
|
1847
1852
|
const authMode = methodAttrs["auth"] ?? "none";
|
|
1848
1853
|
const headers = Object.entries(parseKv(extractBlock(content, "headers"))).map(([k, v]) => ({
|
|
@@ -1855,6 +1860,10 @@ function parseBruFile(content, fileName) {
|
|
|
1855
1860
|
value: v,
|
|
1856
1861
|
enabled: true
|
|
1857
1862
|
}));
|
|
1863
|
+
if (params.length) {
|
|
1864
|
+
const q = url.indexOf("?");
|
|
1865
|
+
if (q !== -1) url = url.slice(0, q);
|
|
1866
|
+
}
|
|
1858
1867
|
let body = { mode: "none" };
|
|
1859
1868
|
if (bodyMode === "json") {
|
|
1860
1869
|
const jsonContent = extractBlock(content, "body:json") ?? "";
|
|
@@ -5498,10 +5507,12 @@ function registerMockHandlers(ipc) {
|
|
|
5498
5507
|
return JSON.parse(raw);
|
|
5499
5508
|
});
|
|
5500
5509
|
}
|
|
5501
|
-
async function resolveVars(ctx) {
|
|
5510
|
+
async function resolveVars(ctx, auth) {
|
|
5502
5511
|
const envVars = await requestExec.buildEnvVars(ctx?.environment ?? null);
|
|
5503
5512
|
const dynamic = await requestExec.buildDynamicVars();
|
|
5504
|
-
|
|
5513
|
+
const scope = requestExec.mergeVars(envVars, ctx?.collectionVars ?? {}, ctx?.globals ?? {}, {}, dynamic);
|
|
5514
|
+
const inline = await requestExec.resolveInlineSecretRefs(JSON.stringify(auth ?? {}));
|
|
5515
|
+
return { ...scope, ...inline };
|
|
5505
5516
|
}
|
|
5506
5517
|
async function resolveClientSecret(auth, vars) {
|
|
5507
5518
|
let secret = auth.oauth2ClientSecret ?? "";
|
|
@@ -5601,7 +5612,7 @@ async function browserFlow(auth, vars, flow) {
|
|
|
5601
5612
|
function registerOAuth2Handlers(ipc) {
|
|
5602
5613
|
handle.handleIpc(ipc, handle.IPC.oauth2.startFlow, async (_e, auth, ctx) => {
|
|
5603
5614
|
if (auth.type !== "oauth2") throw new Error("OAuth 2.0: auth is not an oauth2 config.");
|
|
5604
|
-
const vars = await resolveVars(ctx);
|
|
5615
|
+
const vars = await resolveVars(ctx, auth);
|
|
5605
5616
|
const flow = auth.oauth2Flow ?? "client_credentials";
|
|
5606
5617
|
if (flow === "authorization_code" || flow === "implicit") {
|
|
5607
5618
|
return browserFlow(auth, vars, flow);
|
|
@@ -5609,7 +5620,7 @@ function registerOAuth2Handlers(ipc) {
|
|
|
5609
5620
|
return requestExec.fetchOAuth2Token(auth, vars);
|
|
5610
5621
|
});
|
|
5611
5622
|
handle.handleIpc(ipc, handle.IPC.oauth2.refreshToken, async (_e, auth, ctx, refreshToken) => {
|
|
5612
|
-
const vars = await resolveVars(ctx);
|
|
5623
|
+
const vars = await resolveVars(ctx, auth);
|
|
5613
5624
|
const tokenUrl = requestExec.interpolate(auth.oauth2TokenUrl ?? "", vars);
|
|
5614
5625
|
const clientId = requestExec.interpolate(auth.oauth2ClientId ?? "", vars);
|
|
5615
5626
|
let clientSecret = auth.oauth2ClientSecret ?? "";
|
|
@@ -7301,7 +7312,7 @@ function isNewer(a, b) {
|
|
|
7301
7312
|
return a2 > b2;
|
|
7302
7313
|
}
|
|
7303
7314
|
async function checkForUpdate() {
|
|
7304
|
-
const current = "0.
|
|
7315
|
+
const current = "0.8.1";
|
|
7305
7316
|
try {
|
|
7306
7317
|
const res = await fetch(REGISTRY_URL, { signal: AbortSignal.timeout(4e3) });
|
|
7307
7318
|
if (!res.ok) return null;
|
package/out/main/lib.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const mockServer = require("./chunks/mock-server-C4kTFkod.js");
|
|
4
|
-
const requestExec = require("./chunks/request-exec-
|
|
4
|
+
const requestExec = require("./chunks/request-exec-CEmSNDIG.js");
|
|
5
5
|
const flowEngine = require("./chunks/flow-engine-BxwjEy37.js");
|
|
6
6
|
require("node:http");
|
|
7
7
|
require("node:crypto");
|
package/out/main/perf-worker.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const perfRun = require("./chunks/perf-run-
|
|
3
|
-
const requestExec = require("./chunks/request-exec-
|
|
2
|
+
const perfRun = require("./chunks/perf-run-D02WoC6i.js");
|
|
3
|
+
const requestExec = require("./chunks/request-exec-CEmSNDIG.js");
|
|
4
4
|
require("@grpc/grpc-js");
|
|
5
5
|
require("@grpc/proto-loader");
|
|
6
6
|
require("node:fs");
|
package/out/main/perf.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
const promises = require("node:fs/promises");
|
|
4
4
|
const path = require("node:path");
|
|
5
|
-
const requestExec = require("./chunks/request-exec-
|
|
5
|
+
const requestExec = require("./chunks/request-exec-CEmSNDIG.js");
|
|
6
6
|
const environments = require("./chunks/environments-iM3SUM-4.js");
|
|
7
7
|
const flowEngine = require("./chunks/flow-engine-BxwjEy37.js");
|
|
8
|
-
const perfRun = require("./chunks/perf-run-
|
|
8
|
+
const perfRun = require("./chunks/perf-run-D02WoC6i.js");
|
|
9
9
|
const perfReport = require("./chunks/perf-report-ChaO3K0w.js");
|
|
10
10
|
const cliCommon = require("./chunks/cli-common-GnihVSjU.js");
|
|
11
11
|
require("undici");
|
|
@@ -191,7 +191,7 @@ async function main() {
|
|
|
191
191
|
targetLabel = `flow: ${flow.name}`;
|
|
192
192
|
}
|
|
193
193
|
const load = perfRun.deriveLoad(plan);
|
|
194
|
-
const version = `v${"0.
|
|
194
|
+
const version = `v${"0.8.1"}`;
|
|
195
195
|
console.log("");
|
|
196
196
|
console.log(cliCommon.color(" API Performance" + (version ? ` ${version}` : ""), cliCommon.C.bold, cliCommon.C.white));
|
|
197
197
|
console.log(cliCommon.color(` Plan: ${plan.name}`, cliCommon.C.gray));
|
package/out/main/runner.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
const promises = require("node:fs/promises");
|
|
4
4
|
const path = require("node:path");
|
|
5
|
-
const requestExec = require("./chunks/request-exec-
|
|
5
|
+
const requestExec = require("./chunks/request-exec-CEmSNDIG.js");
|
|
6
6
|
const escape = require("./chunks/escape-DDVAlOvZ.js");
|
|
7
7
|
const requestCollection = require("./chunks/request-collection-gkOYlWml.js");
|
|
8
8
|
const runConcurrent = require("./chunks/run-concurrent-468tH0AX.js");
|
|
@@ -551,7 +551,7 @@ async function main() {
|
|
|
551
551
|
} else if (!envName && workspace.settings?.defaultEnvironment && !env) {
|
|
552
552
|
console.warn(cliCommon.color(`Warning: default environment "${workspace.settings.defaultEnvironment}" not found. Running without environment.`, cliCommon.C.yellow));
|
|
553
553
|
}
|
|
554
|
-
const version = `v${"0.
|
|
554
|
+
const version = `v${"0.8.1"}`;
|
|
555
555
|
console.log("");
|
|
556
556
|
console.log(cliCommon.color(" API Test Runner" + (version ? ` ${version}` : ""), cliCommon.C.bold, cliCommon.C.white));
|
|
557
557
|
console.log(cliCommon.color(` Workspace: ${wsPath}`, cliCommon.C.gray));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { l as linter, E as EditorView, L as LanguageSupport, f as LRLanguage, s as styleTags, i as indentNodeProp, m as delimitedIndent, n as foldNodeProp, p as foldInside, S as StateField, q as LRParser, u as StateEffect, v as tags, a as reactExports, j as jsxRuntimeExports, d as ReactCodeMirror, o as oneDark, c as json } from "./codemirror-CdIFBPs2.js";
|
|
2
|
-
import { u as useT, a as useStore, b as useActiveEnvironment, i as isSubscriptionQuery } from "./index-
|
|
2
|
+
import { u as useT, a as useStore, b as useActiveEnvironment, i as isSubscriptionQuery } from "./index-B_7rAo5x.js";
|
|
3
3
|
import "./ajv-CJPwFjiP.js";
|
|
4
4
|
function devAssert(condition, message) {
|
|
5
5
|
const booleanCondition = Boolean(condition);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as reactExports, j as jsxRuntimeExports, d as ReactCodeMirror, o as oneDark, x as xml } from "./codemirror-CdIFBPs2.js";
|
|
2
|
-
import { u as useT, c as btnPrimaryCls, d as commentKeymap } from "./index-
|
|
2
|
+
import { u as useT, c as btnPrimaryCls, d as commentKeymap } from "./index-B_7rAo5x.js";
|
|
3
3
|
import "./ajv-CJPwFjiP.js";
|
|
4
4
|
const SOAP_11_CONTENT_TYPE = "text/xml; charset=utf-8";
|
|
5
5
|
const SOAP_12_CONTENT_TYPE = "application/soap+xml; charset=utf-8";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./GraphQLEditor-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./GraphQLEditor-DRHpuBUa.js","./codemirror-CdIFBPs2.js","./ajv-CJPwFjiP.js","./SoapEditor-fOGCq_ap.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import { r as requireReact, g as getDefaultExportFromCjs, R as React, a as reactExports, b as autocompletion, h as hoverTooltip, j as jsxRuntimeExports, k as keymap, t as toggleComment, x as xml, c as json, d as ReactCodeMirror, o as oneDark, e as javascript } from "./codemirror-CdIFBPs2.js";
|
|
3
3
|
import { r as requireAjv } from "./ajv-CJPwFjiP.js";
|
|
4
4
|
var client = { exports: {} };
|
|
@@ -24891,7 +24891,7 @@ function Modal({
|
|
|
24891
24891
|
subtitle,
|
|
24892
24892
|
overlayClassName = DEFAULT_OVERLAY,
|
|
24893
24893
|
panelClassName = DEFAULT_PANEL,
|
|
24894
|
-
closeOnBackdrop =
|
|
24894
|
+
closeOnBackdrop = false,
|
|
24895
24895
|
closeOnEscape = true,
|
|
24896
24896
|
children: children2
|
|
24897
24897
|
}) {
|
|
@@ -28427,8 +28427,8 @@ function jsonWithComments() {
|
|
|
28427
28427
|
function xmlWithComments() {
|
|
28428
28428
|
return [xml(), commentKeymap];
|
|
28429
28429
|
}
|
|
28430
|
-
const GraphQLEditor = reactExports.lazy(() => __vitePreload(() => import("./GraphQLEditor-
|
|
28431
|
-
const SoapEditor = reactExports.lazy(() => __vitePreload(() => import("./SoapEditor-
|
|
28430
|
+
const GraphQLEditor = reactExports.lazy(() => __vitePreload(() => import("./GraphQLEditor-DRHpuBUa.js"), true ? __vite__mapDeps([0,1,2]) : void 0, import.meta.url).then((m) => ({ default: m.GraphQLEditor })));
|
|
28431
|
+
const SoapEditor = reactExports.lazy(() => __vitePreload(() => import("./SoapEditor-fOGCq_ap.js"), true ? __vite__mapDeps([3,1,2]) : void 0, import.meta.url).then((m) => ({ default: m.SoapEditor })));
|
|
28432
28432
|
function BodyTab({ request: request2, onChange }) {
|
|
28433
28433
|
const t2 = useT();
|
|
28434
28434
|
const editorFallback = /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "p-4 text-xs text-surface-500", children: t2("Loading editor…") });
|
|
@@ -31315,11 +31315,10 @@ function AskVarsModal({ asks, requestName, onSubmit, onCancel }) {
|
|
|
31315
31315
|
onCancel();
|
|
31316
31316
|
}
|
|
31317
31317
|
}
|
|
31318
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50",
|
|
31318
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
31319
31319
|
"div",
|
|
31320
31320
|
{
|
|
31321
31321
|
className: "bg-surface-900 border border-surface-700 rounded-lg shadow-xl w-[420px] max-h-[80vh] flex flex-col",
|
|
31322
|
-
onMouseDown: (e) => e.stopPropagation(),
|
|
31323
31322
|
onKeyDown,
|
|
31324
31323
|
children: [
|
|
31325
31324
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "px-4 py-3 border-b border-surface-800 flex-shrink-0", children: [
|
|
@@ -35877,7 +35876,7 @@ function WelcomeScreen() {
|
|
|
35877
35876
|
)
|
|
35878
35877
|
] }),
|
|
35879
35878
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-surface-400 text-sm max-w-sm", children: t2("Local-first API testing with Robot Framework & Playwright code generation. Secrets stay on your machine.") }),
|
|
35880
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-[11px] mt-3", style: { color: "var(--text-muted)" }, children: t2("version :version", { version: "0.
|
|
35879
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-[11px] mt-3", style: { color: "var(--text-muted)" }, children: t2("version :version", { version: "0.8.1" }) })
|
|
35881
35880
|
] }),
|
|
35882
35881
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-3 w-64", children: [
|
|
35883
35882
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -56012,7 +56011,7 @@ function App() {
|
|
|
56012
56011
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { style: { color: "#6aa3c8" }, children: "Spector" }),
|
|
56013
56012
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "ml-2 text-[10px] font-normal opacity-50", children: [
|
|
56014
56013
|
"v",
|
|
56015
|
-
"0.
|
|
56014
|
+
"0.8.1"
|
|
56016
56015
|
] }),
|
|
56017
56016
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "mx-2 opacity-30", children: "·" }),
|
|
56018
56017
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
package/out/renderer/index.html
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta charset="UTF-8" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>API Spector</title>
|
|
8
|
-
<script type="module" crossorigin src="./assets/index-
|
|
8
|
+
<script type="module" crossorigin src="./assets/index-B_7rAo5x.js"></script>
|
|
9
9
|
<link rel="modulepreload" crossorigin href="./assets/codemirror-CdIFBPs2.js">
|
|
10
10
|
<link rel="modulepreload" crossorigin href="./assets/ajv-CJPwFjiP.js">
|
|
11
11
|
<link rel="stylesheet" crossorigin href="./assets/index-DkhdKzQJ.css">
|