@unispechq/unispec-platform 0.2.0 → 0.2.2
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/README.md +20 -204
- package/dist/cli.js +7 -5
- package/dist/cli.js.map +1 -1
- package/dist/commands/index.d.ts +1 -2
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +1 -2
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/portal.d.ts +4 -0
- package/dist/commands/portal.d.ts.map +1 -0
- package/dist/commands/portal.js +94 -0
- package/dist/commands/portal.js.map +1 -0
- package/package.json +2 -2
- package/dist/commands/dev.d.ts +0 -3
- package/dist/commands/dev.d.ts.map +0 -1
- package/dist/commands/dev.js +0 -211
- package/dist/commands/dev.js.map +0 -1
- package/dist/commands/start.d.ts +0 -3
- package/dist/commands/start.d.ts.map +0 -1
- package/dist/commands/start.js +0 -125
- package/dist/commands/start.js.map +0 -1
- package/dist/dev/aggregate.d.ts +0 -15
- package/dist/dev/aggregate.d.ts.map +0 -1
- package/dist/dev/aggregate.js +0 -56
- package/dist/dev/aggregate.js.map +0 -1
- package/dist/dev/index.d.ts +0 -3
- package/dist/dev/index.d.ts.map +0 -1
- package/dist/dev/index.js +0 -3
- package/dist/dev/index.js.map +0 -1
- package/dist/dev/server.d.ts +0 -17
- package/dist/dev/server.d.ts.map +0 -1
- package/dist/dev/server.js +0 -503
- package/dist/dev/server.js.map +0 -1
- package/dist/dev/ui.d.ts +0 -3
- package/dist/dev/ui.d.ts.map +0 -1
- package/dist/dev/ui.js +0 -93
- package/dist/dev/ui.js.map +0 -1
- package/dist/workspace/storage.d.ts +0 -7
- package/dist/workspace/storage.d.ts.map +0 -1
- package/dist/workspace/storage.js +0 -60
- package/dist/workspace/storage.js.map +0 -1
- package/dist/workspace/types.d.ts +0 -64
- package/dist/workspace/types.d.ts.map +0 -1
- package/dist/workspace/types.js +0 -2
- package/dist/workspace/types.js.map +0 -1
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { mkdir, readFile, rename, writeFile } from "node:fs/promises";
|
|
2
|
-
import { dirname, join } from "node:path";
|
|
3
|
-
export const WORKSPACE_FILE_NAME = "workspace.json";
|
|
4
|
-
export function createEmptyWorkspaceState() {
|
|
5
|
-
return {
|
|
6
|
-
schemaVersion: 1,
|
|
7
|
-
updatedAt: new Date().toISOString(),
|
|
8
|
-
groups: [],
|
|
9
|
-
endpointGroups: {},
|
|
10
|
-
endpointMeta: {},
|
|
11
|
-
types: [],
|
|
12
|
-
endpointTypes: {},
|
|
13
|
-
testSuites: [],
|
|
14
|
-
tests: [],
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
export function getWorkspaceFilePath(workspaceDir) {
|
|
18
|
-
return join(workspaceDir, WORKSPACE_FILE_NAME);
|
|
19
|
-
}
|
|
20
|
-
function isObjectLike(v) {
|
|
21
|
-
return Boolean(v) && typeof v === "object" && !Array.isArray(v);
|
|
22
|
-
}
|
|
23
|
-
export async function loadWorkspaceState(workspaceDir) {
|
|
24
|
-
const filePath = getWorkspaceFilePath(workspaceDir);
|
|
25
|
-
try {
|
|
26
|
-
const raw = await readFile(filePath, "utf8");
|
|
27
|
-
const json = JSON.parse(raw);
|
|
28
|
-
if (!isObjectLike(json) || json.schemaVersion !== 1) {
|
|
29
|
-
return createEmptyWorkspaceState();
|
|
30
|
-
}
|
|
31
|
-
const state = json;
|
|
32
|
-
if (!state.updatedAt) {
|
|
33
|
-
state.updatedAt = new Date().toISOString();
|
|
34
|
-
}
|
|
35
|
-
state.groups ??= [];
|
|
36
|
-
state.endpointGroups ??= {};
|
|
37
|
-
state.endpointMeta ??= {};
|
|
38
|
-
state.types ??= [];
|
|
39
|
-
state.endpointTypes ??= {};
|
|
40
|
-
state.testSuites ??= [];
|
|
41
|
-
state.tests ??= [];
|
|
42
|
-
return state;
|
|
43
|
-
}
|
|
44
|
-
catch {
|
|
45
|
-
return createEmptyWorkspaceState();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
export async function saveWorkspaceState(workspaceDir, state) {
|
|
49
|
-
await mkdir(workspaceDir, { recursive: true });
|
|
50
|
-
const filePath = getWorkspaceFilePath(workspaceDir);
|
|
51
|
-
const tmpPath = join(dirname(filePath), `${WORKSPACE_FILE_NAME}.tmp`);
|
|
52
|
-
const next = {
|
|
53
|
-
...state,
|
|
54
|
-
schemaVersion: 1,
|
|
55
|
-
updatedAt: new Date().toISOString(),
|
|
56
|
-
};
|
|
57
|
-
await writeFile(tmpPath, JSON.stringify(next, null, 2) + "\n", "utf8");
|
|
58
|
-
await rename(tmpPath, filePath);
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=storage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/workspace/storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
export type EndpointId = string;
|
|
2
|
-
export interface WorkspaceGroup {
|
|
3
|
-
id: string;
|
|
4
|
-
title: string;
|
|
5
|
-
parentId?: string;
|
|
6
|
-
order?: number;
|
|
7
|
-
}
|
|
8
|
-
export interface EndpointMeta {
|
|
9
|
-
summary?: string;
|
|
10
|
-
description?: string;
|
|
11
|
-
tags?: string[];
|
|
12
|
-
}
|
|
13
|
-
export interface WorkspaceTypeRef {
|
|
14
|
-
id: string;
|
|
15
|
-
language: string;
|
|
16
|
-
name: string;
|
|
17
|
-
sourcePath: string;
|
|
18
|
-
kind?: "interface" | "type" | "schema" | "other";
|
|
19
|
-
}
|
|
20
|
-
export interface EndpointTypeBinding {
|
|
21
|
-
requestTypeId?: string;
|
|
22
|
-
responseTypeId?: string;
|
|
23
|
-
errorTypeId?: string;
|
|
24
|
-
}
|
|
25
|
-
export interface WorkspaceTestSuite {
|
|
26
|
-
id: string;
|
|
27
|
-
title: string;
|
|
28
|
-
baseUrl?: string;
|
|
29
|
-
order?: number;
|
|
30
|
-
tests: string[];
|
|
31
|
-
}
|
|
32
|
-
export interface WorkspaceTest {
|
|
33
|
-
id: string;
|
|
34
|
-
title: string;
|
|
35
|
-
endpointId?: EndpointId;
|
|
36
|
-
format: "yaml" | "json";
|
|
37
|
-
content: string;
|
|
38
|
-
order?: number;
|
|
39
|
-
}
|
|
40
|
-
export interface WorkspaceState {
|
|
41
|
-
schemaVersion: 1;
|
|
42
|
-
updatedAt: string;
|
|
43
|
-
groups: WorkspaceGroup[];
|
|
44
|
-
endpointGroups: Record<EndpointId, string>;
|
|
45
|
-
endpointMeta: Record<EndpointId, EndpointMeta>;
|
|
46
|
-
types: WorkspaceTypeRef[];
|
|
47
|
-
endpointTypes: Record<EndpointId, EndpointTypeBinding>;
|
|
48
|
-
testSuites: WorkspaceTestSuite[];
|
|
49
|
-
tests: WorkspaceTest[];
|
|
50
|
-
}
|
|
51
|
-
export interface WorkspaceInfo {
|
|
52
|
-
mode: "dev" | "start";
|
|
53
|
-
configPath?: string;
|
|
54
|
-
api: {
|
|
55
|
-
unispecUrl: string;
|
|
56
|
-
workspaceStateUrl: string;
|
|
57
|
-
testsRunUrl: string;
|
|
58
|
-
};
|
|
59
|
-
storage: {
|
|
60
|
-
workspaceDir: string;
|
|
61
|
-
workspaceFile: string;
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workspace/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CAClD;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,CAAC,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAElB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC3C,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAE/C,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAEvD,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE;QACH,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
|
package/dist/workspace/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/workspace/types.ts"],"names":[],"mappings":""}
|