@draftline/client 0.1.0
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 +11 -0
- package/dist/index.d.ts +314 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +82 -0
- package/package.json +30 -0
package/README.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Draftline client
|
|
2
|
+
|
|
3
|
+
`client/` contains the private TypeScript command client used by Workbench.
|
|
4
|
+
It wraps Tauri `invoke` calls and mirrors the serializable shapes from
|
|
5
|
+
`draftline::tauri_contract`.
|
|
6
|
+
|
|
7
|
+
Build from the repository root:
|
|
8
|
+
|
|
9
|
+
```powershell
|
|
10
|
+
npm run client:build
|
|
11
|
+
```
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
export type DraftlineInvoke = <T>(command: string, args?: Record<string, unknown>) => Promise<T>;
|
|
2
|
+
export interface DraftlineClientOptions {
|
|
3
|
+
invoke?: DraftlineInvoke;
|
|
4
|
+
onCommandStart?: (command: string, args?: Record<string, unknown>) => void;
|
|
5
|
+
onCommandSuccess?: (command: string, result: unknown) => void;
|
|
6
|
+
onCommandError?: (command: string, error: unknown) => void;
|
|
7
|
+
}
|
|
8
|
+
export interface DraftlineClient {
|
|
9
|
+
inspectWorkspace(workspacePath: string): Promise<WorkspaceDiagnostics>;
|
|
10
|
+
verifyWorkspace(workspacePath: string): Promise<WorkspaceVerification>;
|
|
11
|
+
listVariations(workspacePath: string): Promise<VariationSummary[]>;
|
|
12
|
+
listSupportRefs(workspacePath: string, scope: SupportRefScope): Promise<SupportRef[]>;
|
|
13
|
+
selectedSave(request: SelectedSaveRequest): Promise<SelectedSaveResult>;
|
|
14
|
+
selectedShelve(request: SelectedShelveRequest): Promise<SelectedShelveResult>;
|
|
15
|
+
selectedDiscard(request: SelectedDiscardRequest): Promise<SelectedDiscardResult>;
|
|
16
|
+
publishCurrentVariation(request: PublishCurrentVariationRequest): Promise<PublishCurrentVariationResult>;
|
|
17
|
+
fetchRemote(request: RemoteRequest): Promise<FetchRemoteResult>;
|
|
18
|
+
preflightApplyIncoming(request: RemoteRequest): Promise<ApplyIncomingReport>;
|
|
19
|
+
applyIncoming(request: RemoteRequest): Promise<ApplyIncomingCommandResult>;
|
|
20
|
+
preflightMergeIncoming(request: RemoteRequest): Promise<MergeIncomingReport>;
|
|
21
|
+
mergeIncoming(request: MergeIncomingRequest): Promise<MergeIncomingCommandResult>;
|
|
22
|
+
}
|
|
23
|
+
export declare function setDraftlineInvoke(invoke: DraftlineInvoke): void;
|
|
24
|
+
export declare function createDraftlineClient(options?: DraftlineClientOptions): DraftlineClient;
|
|
25
|
+
export type JsonValue = null | boolean | number | string | JsonValue[] | {
|
|
26
|
+
[key: string]: JsonValue;
|
|
27
|
+
};
|
|
28
|
+
export type ChangeKind = 'Added' | 'Modified' | 'Deleted' | 'Renamed' | 'Conflicted' | 'TypeChanged';
|
|
29
|
+
export type DiagnosticSeverity = 'info' | 'warning' | 'blocking';
|
|
30
|
+
export type OperationLockState = 'unlocked' | 'locked';
|
|
31
|
+
export type SafeNextAction = 'normal_work' | 'save_first' | 'discard_changes' | 'repair_recovery' | 'configure_remote';
|
|
32
|
+
export type SharingMode = 'local_only' | 'shared_capable';
|
|
33
|
+
export type SupportRefScope = 'local' | 'remote_tracking';
|
|
34
|
+
export type SupportRefKind = 'deleted_variation' | 'rewrite';
|
|
35
|
+
export type SyncState = 'UpToDate' | 'LocalAhead' | 'IncomingAvailable' | 'NeedsMerge' | 'NoRemoteVersion';
|
|
36
|
+
export interface Contributor {
|
|
37
|
+
name: string;
|
|
38
|
+
email?: string | null;
|
|
39
|
+
}
|
|
40
|
+
export interface Version {
|
|
41
|
+
id: string;
|
|
42
|
+
label: string;
|
|
43
|
+
author: Contributor;
|
|
44
|
+
saved_by: Contributor;
|
|
45
|
+
time_seconds: number;
|
|
46
|
+
}
|
|
47
|
+
export interface VariationMetadata {
|
|
48
|
+
label?: string | null;
|
|
49
|
+
slug?: string | null;
|
|
50
|
+
}
|
|
51
|
+
export interface Variation {
|
|
52
|
+
id: string;
|
|
53
|
+
name: string;
|
|
54
|
+
metadata: VariationMetadata;
|
|
55
|
+
is_current: boolean;
|
|
56
|
+
}
|
|
57
|
+
export interface VariationSummary {
|
|
58
|
+
variation: Variation;
|
|
59
|
+
head_version?: Version | null;
|
|
60
|
+
reachable_version_count: number;
|
|
61
|
+
}
|
|
62
|
+
export interface ChangedFile {
|
|
63
|
+
path: string;
|
|
64
|
+
kind: ChangeKind;
|
|
65
|
+
is_binary: boolean;
|
|
66
|
+
is_large: boolean;
|
|
67
|
+
}
|
|
68
|
+
export interface ChangeSet {
|
|
69
|
+
files: ChangedFile[];
|
|
70
|
+
diff?: string | null;
|
|
71
|
+
}
|
|
72
|
+
export interface FileHazard {
|
|
73
|
+
path: string;
|
|
74
|
+
kind: string;
|
|
75
|
+
}
|
|
76
|
+
export interface PreflightReport {
|
|
77
|
+
operation: string;
|
|
78
|
+
will_write_files: boolean;
|
|
79
|
+
dirty_files: ChangedFile[];
|
|
80
|
+
file_hazards: FileHazard[];
|
|
81
|
+
untracked_assets: string[];
|
|
82
|
+
unresolved_conflicts: string[];
|
|
83
|
+
large_files: string[];
|
|
84
|
+
binary_files: string[];
|
|
85
|
+
variation_divergence?: string | null;
|
|
86
|
+
can_proceed: boolean;
|
|
87
|
+
}
|
|
88
|
+
export interface RecoveryState {
|
|
89
|
+
operation_id: string;
|
|
90
|
+
operation: string;
|
|
91
|
+
original_variation?: string | null;
|
|
92
|
+
target?: string | null;
|
|
93
|
+
completed: boolean;
|
|
94
|
+
}
|
|
95
|
+
export interface WorkspaceSummary {
|
|
96
|
+
active_variation: Variation;
|
|
97
|
+
variations: Variation[];
|
|
98
|
+
versions: Version[];
|
|
99
|
+
dirty_files: ChangedFile[];
|
|
100
|
+
is_dirty: boolean;
|
|
101
|
+
recovery?: RecoveryState | null;
|
|
102
|
+
state_may_be_inconsistent: boolean;
|
|
103
|
+
}
|
|
104
|
+
export interface RemoteEndpoint {
|
|
105
|
+
name: string;
|
|
106
|
+
url: string;
|
|
107
|
+
}
|
|
108
|
+
export interface DirtySummary {
|
|
109
|
+
is_dirty: boolean;
|
|
110
|
+
files: ChangedFile[];
|
|
111
|
+
}
|
|
112
|
+
export interface OperationLockSummary {
|
|
113
|
+
state: OperationLockState;
|
|
114
|
+
}
|
|
115
|
+
export interface OperationLockMetadata {
|
|
116
|
+
operation_id: string;
|
|
117
|
+
operation: string;
|
|
118
|
+
process_id: number;
|
|
119
|
+
owner?: string | null;
|
|
120
|
+
created_at_seconds: number;
|
|
121
|
+
}
|
|
122
|
+
export interface WorkspaceDiagnostic {
|
|
123
|
+
code: string;
|
|
124
|
+
severity: DiagnosticSeverity;
|
|
125
|
+
message: string;
|
|
126
|
+
}
|
|
127
|
+
export interface OperationLockInspection {
|
|
128
|
+
state: OperationLockState;
|
|
129
|
+
metadata?: OperationLockMetadata | null;
|
|
130
|
+
is_stale: boolean;
|
|
131
|
+
can_clear: boolean;
|
|
132
|
+
diagnostics: WorkspaceDiagnostic[];
|
|
133
|
+
}
|
|
134
|
+
export interface SupportRefSummary {
|
|
135
|
+
local_count: number;
|
|
136
|
+
remote_count: number;
|
|
137
|
+
}
|
|
138
|
+
export interface WorkspaceInspection {
|
|
139
|
+
workspace_id: {
|
|
140
|
+
root: string;
|
|
141
|
+
};
|
|
142
|
+
sharing_mode: SharingMode;
|
|
143
|
+
current_variation?: string | null;
|
|
144
|
+
remotes: RemoteEndpoint[];
|
|
145
|
+
dirty: DirtySummary;
|
|
146
|
+
recovery?: RecoveryState | null;
|
|
147
|
+
operation_lock: OperationLockSummary;
|
|
148
|
+
support_refs: SupportRefSummary;
|
|
149
|
+
diagnostics: WorkspaceDiagnostic[];
|
|
150
|
+
safe_next_actions: SafeNextAction[];
|
|
151
|
+
}
|
|
152
|
+
export interface WorkspaceVerification {
|
|
153
|
+
recovery_clear: boolean;
|
|
154
|
+
operation_lock_clear: boolean;
|
|
155
|
+
current_variation_present: boolean;
|
|
156
|
+
diagnostics: WorkspaceDiagnostic[];
|
|
157
|
+
}
|
|
158
|
+
export interface WorkspaceDiagnostics {
|
|
159
|
+
summary: WorkspaceSummary;
|
|
160
|
+
inspection: WorkspaceInspection;
|
|
161
|
+
verification: WorkspaceVerification;
|
|
162
|
+
operation_lock: OperationLockInspection;
|
|
163
|
+
}
|
|
164
|
+
export interface TauriCommandError {
|
|
165
|
+
code: string;
|
|
166
|
+
message: string;
|
|
167
|
+
details?: JsonValue;
|
|
168
|
+
}
|
|
169
|
+
export interface CommandPostconditions {
|
|
170
|
+
remaining_changes?: ChangeSet | null;
|
|
171
|
+
verification?: WorkspaceVerification | null;
|
|
172
|
+
errors: TauriCommandError[];
|
|
173
|
+
}
|
|
174
|
+
export interface Shelf {
|
|
175
|
+
id: string;
|
|
176
|
+
version: Version;
|
|
177
|
+
}
|
|
178
|
+
export interface SelectedSaveResult {
|
|
179
|
+
preflight: PreflightReport;
|
|
180
|
+
version: Version;
|
|
181
|
+
postconditions: CommandPostconditions;
|
|
182
|
+
}
|
|
183
|
+
export interface SelectedShelveResult {
|
|
184
|
+
preflight: PreflightReport;
|
|
185
|
+
shelf: Shelf;
|
|
186
|
+
postconditions: CommandPostconditions;
|
|
187
|
+
}
|
|
188
|
+
export interface SelectedDiscardResult {
|
|
189
|
+
preflight: PreflightReport;
|
|
190
|
+
discarded: ChangeSet;
|
|
191
|
+
postconditions: CommandPostconditions;
|
|
192
|
+
}
|
|
193
|
+
export interface RemoteVersionSummary {
|
|
194
|
+
id: string;
|
|
195
|
+
label: string;
|
|
196
|
+
author: Contributor;
|
|
197
|
+
time_seconds: number;
|
|
198
|
+
}
|
|
199
|
+
export interface SyncStatus {
|
|
200
|
+
remote: string;
|
|
201
|
+
variation: string;
|
|
202
|
+
ahead: number;
|
|
203
|
+
behind: number;
|
|
204
|
+
state: SyncState;
|
|
205
|
+
incoming: RemoteVersionSummary[];
|
|
206
|
+
}
|
|
207
|
+
export interface PublishPreflight {
|
|
208
|
+
remote: string;
|
|
209
|
+
variation: string;
|
|
210
|
+
expected_remote_oid?: string | null;
|
|
211
|
+
local_oid: string;
|
|
212
|
+
sync_status: SyncStatus;
|
|
213
|
+
token: JsonValue;
|
|
214
|
+
can_publish: boolean;
|
|
215
|
+
}
|
|
216
|
+
export interface PublishResult {
|
|
217
|
+
remote: string;
|
|
218
|
+
variation: string;
|
|
219
|
+
published_versions: number;
|
|
220
|
+
}
|
|
221
|
+
export interface PublishCurrentVariationResult {
|
|
222
|
+
preflight: PublishPreflight;
|
|
223
|
+
publish: PublishResult;
|
|
224
|
+
postconditions: CommandPostconditions;
|
|
225
|
+
}
|
|
226
|
+
export interface ApplyIncomingReport {
|
|
227
|
+
sync_status: SyncStatus;
|
|
228
|
+
dirty_files: ChangedFile[];
|
|
229
|
+
file_hazards: FileHazard[];
|
|
230
|
+
is_fast_forward: boolean;
|
|
231
|
+
can_proceed: boolean;
|
|
232
|
+
}
|
|
233
|
+
export interface ApplyIncomingResult {
|
|
234
|
+
applied_count: number;
|
|
235
|
+
}
|
|
236
|
+
export interface ApplyIncomingCommandResult {
|
|
237
|
+
preflight: ApplyIncomingReport;
|
|
238
|
+
apply: ApplyIncomingResult;
|
|
239
|
+
postconditions: CommandPostconditions;
|
|
240
|
+
}
|
|
241
|
+
export interface MergeConflict {
|
|
242
|
+
path: string;
|
|
243
|
+
label: string;
|
|
244
|
+
}
|
|
245
|
+
export interface MergeIncomingReport {
|
|
246
|
+
sync_status: SyncStatus;
|
|
247
|
+
dirty_files: ChangedFile[];
|
|
248
|
+
file_hazards: FileHazard[];
|
|
249
|
+
conflicts: MergeConflict[];
|
|
250
|
+
token?: JsonValue | null;
|
|
251
|
+
can_merge_cleanly: boolean;
|
|
252
|
+
changed_workspace: boolean;
|
|
253
|
+
}
|
|
254
|
+
export interface MergeIncomingResult {
|
|
255
|
+
version: Version;
|
|
256
|
+
merged_files: string[];
|
|
257
|
+
}
|
|
258
|
+
export interface MergeIncomingCommandResult {
|
|
259
|
+
preflight: MergeIncomingReport;
|
|
260
|
+
merge: MergeIncomingResult;
|
|
261
|
+
postconditions: CommandPostconditions;
|
|
262
|
+
}
|
|
263
|
+
export interface SupportRef {
|
|
264
|
+
id: string;
|
|
265
|
+
ref_name: string;
|
|
266
|
+
kind: SupportRefKind;
|
|
267
|
+
source_variation?: string | null;
|
|
268
|
+
target_oid: string;
|
|
269
|
+
scope: SupportRefScope;
|
|
270
|
+
}
|
|
271
|
+
export interface WorkspaceRequest {
|
|
272
|
+
workspace_path: string;
|
|
273
|
+
}
|
|
274
|
+
export interface ListSupportRefsRequest extends WorkspaceRequest {
|
|
275
|
+
scope: SupportRefScope;
|
|
276
|
+
}
|
|
277
|
+
export interface SelectedSaveRequest extends WorkspaceRequest {
|
|
278
|
+
paths: string[];
|
|
279
|
+
label: string;
|
|
280
|
+
}
|
|
281
|
+
export interface SelectedShelveRequest extends WorkspaceRequest {
|
|
282
|
+
paths: string[];
|
|
283
|
+
name: string;
|
|
284
|
+
}
|
|
285
|
+
export interface SelectedDiscardRequest extends WorkspaceRequest {
|
|
286
|
+
paths: string[];
|
|
287
|
+
}
|
|
288
|
+
export interface PublishCurrentVariationRequest extends WorkspaceRequest {
|
|
289
|
+
remote: string;
|
|
290
|
+
}
|
|
291
|
+
export interface RemoteRequest extends WorkspaceRequest {
|
|
292
|
+
remote: string;
|
|
293
|
+
}
|
|
294
|
+
export interface FetchRemoteResult {
|
|
295
|
+
sync_status: SyncStatus;
|
|
296
|
+
postconditions: CommandPostconditions;
|
|
297
|
+
}
|
|
298
|
+
export interface MergeIncomingRequest extends RemoteRequest {
|
|
299
|
+
label: string;
|
|
300
|
+
}
|
|
301
|
+
export declare function inspectWorkspace(workspacePath: string): Promise<WorkspaceDiagnostics>;
|
|
302
|
+
export declare function verifyWorkspace(workspacePath: string): Promise<WorkspaceVerification>;
|
|
303
|
+
export declare function listVariations(workspacePath: string): Promise<VariationSummary[]>;
|
|
304
|
+
export declare function listSupportRefs(workspacePath: string, scope: SupportRefScope): Promise<SupportRef[]>;
|
|
305
|
+
export declare function selectedSave(request: SelectedSaveRequest): Promise<SelectedSaveResult>;
|
|
306
|
+
export declare function selectedShelve(request: SelectedShelveRequest): Promise<SelectedShelveResult>;
|
|
307
|
+
export declare function selectedDiscard(request: SelectedDiscardRequest): Promise<SelectedDiscardResult>;
|
|
308
|
+
export declare function publishCurrentVariation(request: PublishCurrentVariationRequest): Promise<PublishCurrentVariationResult>;
|
|
309
|
+
export declare function fetchRemote(request: RemoteRequest): Promise<FetchRemoteResult>;
|
|
310
|
+
export declare function preflightApplyIncoming(request: RemoteRequest): Promise<ApplyIncomingReport>;
|
|
311
|
+
export declare function applyIncoming(request: RemoteRequest): Promise<ApplyIncomingCommandResult>;
|
|
312
|
+
export declare function preflightMergeIncoming(request: RemoteRequest): Promise<MergeIncomingReport>;
|
|
313
|
+
export declare function mergeIncoming(request: MergeIncomingRequest): Promise<MergeIncomingCommandResult>;
|
|
314
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { invoke as tauriInvoke } from '@tauri-apps/api/core';
|
|
2
|
+
let invokeDraftline = (command, args) => tauriInvoke(command, args);
|
|
3
|
+
export function setDraftlineInvoke(invoke) {
|
|
4
|
+
invokeDraftline = invoke;
|
|
5
|
+
}
|
|
6
|
+
export function createDraftlineClient(options = {}) {
|
|
7
|
+
const invoke = options.invoke ?? invokeDraftline;
|
|
8
|
+
async function run(command, args) {
|
|
9
|
+
options.onCommandStart?.(command, args);
|
|
10
|
+
try {
|
|
11
|
+
const result = await invoke(command, args);
|
|
12
|
+
options.onCommandSuccess?.(command, result);
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
options.onCommandError?.(command, error);
|
|
17
|
+
throw error;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
inspectWorkspace: (workspacePath) => run('inspect_workspace', {
|
|
22
|
+
request: { workspace_path: workspacePath },
|
|
23
|
+
}),
|
|
24
|
+
verifyWorkspace: (workspacePath) => run('verify_workspace', {
|
|
25
|
+
request: { workspace_path: workspacePath },
|
|
26
|
+
}),
|
|
27
|
+
listVariations: (workspacePath) => run('list_variations', {
|
|
28
|
+
request: { workspace_path: workspacePath },
|
|
29
|
+
}),
|
|
30
|
+
listSupportRefs: (workspacePath, scope) => run('list_support_refs', {
|
|
31
|
+
request: { workspace_path: workspacePath, scope },
|
|
32
|
+
}),
|
|
33
|
+
selectedSave: (request) => run('selected_save', { request }),
|
|
34
|
+
selectedShelve: (request) => run('selected_shelve', { request }),
|
|
35
|
+
selectedDiscard: (request) => run('selected_discard', { request }),
|
|
36
|
+
publishCurrentVariation: (request) => run('publish_current_variation', { request }),
|
|
37
|
+
fetchRemote: (request) => run('fetch_remote', { request }),
|
|
38
|
+
preflightApplyIncoming: (request) => run('preflight_apply_incoming', { request }),
|
|
39
|
+
applyIncoming: (request) => run('apply_incoming', { request }),
|
|
40
|
+
preflightMergeIncoming: (request) => run('preflight_merge_incoming', { request }),
|
|
41
|
+
mergeIncoming: (request) => run('merge_incoming', { request }),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export async function inspectWorkspace(workspacePath) {
|
|
45
|
+
return createDraftlineClient().inspectWorkspace(workspacePath);
|
|
46
|
+
}
|
|
47
|
+
export async function verifyWorkspace(workspacePath) {
|
|
48
|
+
return createDraftlineClient().verifyWorkspace(workspacePath);
|
|
49
|
+
}
|
|
50
|
+
export async function listVariations(workspacePath) {
|
|
51
|
+
return createDraftlineClient().listVariations(workspacePath);
|
|
52
|
+
}
|
|
53
|
+
export async function listSupportRefs(workspacePath, scope) {
|
|
54
|
+
return createDraftlineClient().listSupportRefs(workspacePath, scope);
|
|
55
|
+
}
|
|
56
|
+
export async function selectedSave(request) {
|
|
57
|
+
return createDraftlineClient().selectedSave(request);
|
|
58
|
+
}
|
|
59
|
+
export async function selectedShelve(request) {
|
|
60
|
+
return createDraftlineClient().selectedShelve(request);
|
|
61
|
+
}
|
|
62
|
+
export async function selectedDiscard(request) {
|
|
63
|
+
return createDraftlineClient().selectedDiscard(request);
|
|
64
|
+
}
|
|
65
|
+
export async function publishCurrentVariation(request) {
|
|
66
|
+
return createDraftlineClient().publishCurrentVariation(request);
|
|
67
|
+
}
|
|
68
|
+
export async function fetchRemote(request) {
|
|
69
|
+
return createDraftlineClient().fetchRemote(request);
|
|
70
|
+
}
|
|
71
|
+
export async function preflightApplyIncoming(request) {
|
|
72
|
+
return createDraftlineClient().preflightApplyIncoming(request);
|
|
73
|
+
}
|
|
74
|
+
export async function applyIncoming(request) {
|
|
75
|
+
return createDraftlineClient().applyIncoming(request);
|
|
76
|
+
}
|
|
77
|
+
export async function preflightMergeIncoming(request) {
|
|
78
|
+
return createDraftlineClient().preflightMergeIncoming(request);
|
|
79
|
+
}
|
|
80
|
+
export async function mergeIncoming(request) {
|
|
81
|
+
return createDraftlineClient().mergeIncoming(request);
|
|
82
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@draftline/client",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"import": "./dist/index.js"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"dist"
|
|
15
|
+
],
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "tsc -p tsconfig.json",
|
|
18
|
+
"test": "vitest run"
|
|
19
|
+
},
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@tauri-apps/api": "^2.11.1"
|
|
22
|
+
},
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"typescript": "^6.0.3",
|
|
25
|
+
"vitest": "^4.1.9"
|
|
26
|
+
},
|
|
27
|
+
"publishConfig": {
|
|
28
|
+
"access": "public"
|
|
29
|
+
}
|
|
30
|
+
}
|