@termaxjs/web-adapter 0.1.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.
@@ -0,0 +1,142 @@
1
+ function getTauriInvoke(customInvoke) {
2
+ if (customInvoke)
3
+ return customInvoke;
4
+ if (typeof window !== "undefined" && window.__TAURI_INTERNALS__) {
5
+ return window.__TAURI_INTERNALS__.invoke;
6
+ }
7
+ return () => Promise.reject(new Error("Tauri internals not found in current environment"));
8
+ }
9
+ export class TauriPtyAdapter {
10
+ invoke;
11
+ constructor(customInvoke) {
12
+ this.invoke = getTauriInvoke(customInvoke);
13
+ }
14
+ async spawn(options) {
15
+ return this.invoke("pty_spawn", options);
16
+ }
17
+ async write(id, data) {
18
+ return this.invoke("pty_write", {
19
+ id,
20
+ data: typeof data === "string" ? data : new TextDecoder().decode(data),
21
+ });
22
+ }
23
+ async resize(id, cols, rows) {
24
+ return this.invoke("pty_resize", { id, cols, rows });
25
+ }
26
+ async kill(id) {
27
+ return this.invoke("pty_close", { id });
28
+ }
29
+ onData(id, callback) {
30
+ const handler = (e) => {
31
+ if (e.detail?.id === id)
32
+ callback(e.detail.data);
33
+ };
34
+ if (typeof window !== "undefined") {
35
+ window.addEventListener(`pty-data-${id}`, handler);
36
+ return () => window.removeEventListener(`pty-data-${id}`, handler);
37
+ }
38
+ return () => { };
39
+ }
40
+ onExit(id, callback) {
41
+ const handler = (e) => {
42
+ if (e.detail?.id === id)
43
+ callback(e.detail.exitCode ?? 0);
44
+ };
45
+ if (typeof window !== "undefined") {
46
+ window.addEventListener(`pty-exit-${id}`, handler);
47
+ return () => window.removeEventListener(`pty-exit-${id}`, handler);
48
+ }
49
+ return () => { };
50
+ }
51
+ }
52
+ export class TauriFsAdapter {
53
+ invoke;
54
+ constructor(customInvoke) {
55
+ this.invoke = getTauriInvoke(customInvoke);
56
+ }
57
+ async readFile(path) {
58
+ return this.invoke("read_file", { path });
59
+ }
60
+ async writeFile(path, content) {
61
+ return this.invoke("write_file", { path, content });
62
+ }
63
+ async readDir(path) {
64
+ return this.invoke("read_dir", { path });
65
+ }
66
+ async stat(path) {
67
+ return this.invoke("file_stat", { path });
68
+ }
69
+ }
70
+ export class TauriGitAdapter {
71
+ invoke;
72
+ constructor(customInvoke) {
73
+ this.invoke = getTauriInvoke(customInvoke);
74
+ }
75
+ async getStatus(cwd) {
76
+ return this.invoke("git_status", { cwd });
77
+ }
78
+ async getLog(cwd, limit = 50) {
79
+ return this.invoke("git_log", { cwd, limit });
80
+ }
81
+ async getDiff(cwd, stagedOnly = false) {
82
+ return this.invoke("git_diff", { cwd, stagedOnly });
83
+ }
84
+ async stage(cwd, path) {
85
+ return this.invoke("git_stage", { cwd, path });
86
+ }
87
+ async unstage(cwd, path) {
88
+ return this.invoke("git_unstage", { cwd, path });
89
+ }
90
+ async commit(cwd, message) {
91
+ return this.invoke("git_commit", { cwd, message });
92
+ }
93
+ }
94
+ export class TauriShellAdapter {
95
+ invoke;
96
+ constructor(customInvoke) {
97
+ this.invoke = getTauriInvoke(customInvoke);
98
+ }
99
+ async runCommand(command, cwd, timeoutMs) {
100
+ return this.invoke("run_command", { command, cwd: cwd || "", timeoutMs: timeoutMs || 10000 });
101
+ }
102
+ }
103
+ export class TauriKeychainAdapter {
104
+ invoke;
105
+ constructor(customInvoke) {
106
+ this.invoke = getTauriInvoke(customInvoke);
107
+ }
108
+ async getSecret(key) {
109
+ return this.invoke("secret_get", { key });
110
+ }
111
+ async setSecret(key, value) {
112
+ return this.invoke("secret_set", { key, value });
113
+ }
114
+ async deleteSecret(key) {
115
+ return this.invoke("secret_delete", { key });
116
+ }
117
+ }
118
+ export class TauriHostAdapter {
119
+ pty;
120
+ fs;
121
+ git;
122
+ shell;
123
+ keychain;
124
+ capabilities;
125
+ constructor(customInvoke) {
126
+ this.pty = new TauriPtyAdapter(customInvoke);
127
+ this.fs = new TauriFsAdapter(customInvoke);
128
+ this.git = new TauriGitAdapter(customInvoke);
129
+ this.shell = new TauriShellAdapter(customInvoke);
130
+ this.keychain = new TauriKeychainAdapter(customInvoke);
131
+ const isMac = typeof navigator !== "undefined" && /mac/i.test(navigator.userAgent);
132
+ const isWin = typeof navigator !== "undefined" && /win/i.test(navigator.userAgent);
133
+ this.capabilities = {
134
+ hasPersistentStorage: true,
135
+ hasNativePty: true,
136
+ hasDirectFsAccess: true,
137
+ hasLspBinaries: true,
138
+ platform: isMac ? "macos" : isWin ? "windows" : "linux",
139
+ };
140
+ }
141
+ }
142
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tauri/index.ts"],"names":[],"mappings":"AAiBA,SAAS,cAAc,CAAC,YAA0B;IAChD,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IACtC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAK,MAAc,CAAC,mBAAmB,EAAE,CAAC;QACzE,OAAQ,MAAc,CAAC,mBAAmB,CAAC,MAAM,CAAC;IACpD,CAAC;IACD,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,OAAO,eAAe;IAClB,MAAM,CAAc;IAE5B,YAAY,YAA0B;QACpC,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,OAAyB;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAc,CAAC,CAAC;IAClD,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,EAAU,EAAE,IAAyB;QACtD,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YAC9B,EAAE;YACF,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;SACvE,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,IAAY,EAAE,IAAY;QACxD,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,EAAU;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAEM,MAAM,CAAC,EAAU,EAAE,QAA6C;QACrE,MAAM,OAAO,GAAG,CAAC,CAAM,EAAE,EAAE;YACzB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE;gBAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC,CAAC;QACF,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YACnD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC;IAEM,MAAM,CAAC,EAAU,EAAE,QAAoC;QAC5D,MAAM,OAAO,GAAG,CAAC,CAAM,EAAE,EAAE;YACzB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE;gBAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC;QACF,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YACnD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC;CACF;AAED,MAAM,OAAO,cAAc;IACjB,MAAM,CAAc;IAE5B,YAAY,YAA0B;QACpC,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,IAAY;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,OAAe;QAClD,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACtD,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,IAAY;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;CACF;AAED,MAAM,OAAO,eAAe;IAClB,MAAM,CAAc;IAE5B,YAAY,YAA0B;QACpC,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,GAAW;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5C,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,KAAK,GAAG,EAAE;QACzC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,UAAU,GAAG,KAAK;QAClD,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;IACtD,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,IAAY;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,IAAY;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,OAAe;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;CACF;AAED,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAc;IAE5B,YAAY,YAA0B;QACpC,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,GAAY,EAAE,SAAkB;QACvE,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,IAAI,KAAK,EAAE,CAAC,CAAC;IAChG,CAAC;CACF;AAED,MAAM,OAAO,oBAAoB;IACvB,MAAM,CAAc;IAE5B,YAAY,YAA0B;QACpC,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,GAAW;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5C,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,KAAa;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,GAAW;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,OAAO,gBAAgB;IACX,GAAG,CAAkB;IACrB,EAAE,CAAiB;IACnB,GAAG,CAAkB;IACrB,KAAK,CAAoB;IACzB,QAAQ,CAAuB;IAC/B,YAAY,CAAmB;IAE/C,YAAY,YAA0B;QACpC,IAAI,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,EAAE,GAAG,IAAI,cAAc,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAEvD,MAAM,KAAK,GAAG,OAAO,SAAS,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACnF,MAAM,KAAK,GAAG,OAAO,SAAS,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAEnF,IAAI,CAAC,YAAY,GAAG;YAClB,oBAAoB,EAAE,IAAI;YAC1B,YAAY,EAAE,IAAI;YAClB,iBAAiB,EAAE,IAAI;YACvB,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;SACxD,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,22 @@
1
+ import type { IPtyAdapter, IPtySpawnOptions } from "../index.js";
2
+ export interface WebSocketPtyAdapterOptions {
3
+ wsUrl: string;
4
+ protocols?: string | string[];
5
+ reconnect?: boolean;
6
+ reconnectIntervalMs?: number;
7
+ }
8
+ export declare class WebSocketPtyAdapter implements IPtyAdapter {
9
+ private wsUrl;
10
+ private protocols?;
11
+ private ws;
12
+ private listeners;
13
+ private exitListeners;
14
+ constructor(options: string | WebSocketPtyAdapterOptions);
15
+ spawn(options: IPtySpawnOptions): Promise<number>;
16
+ write(id: number, data: string | Uint8Array): Promise<void>;
17
+ resize(id: number, cols: number, rows: number): Promise<void>;
18
+ kill(id: number): Promise<void>;
19
+ onData(id: number, callback: (data: string | Uint8Array) => void): () => void;
20
+ onExit(id: number, callback: (exitCode: number) => void): () => void;
21
+ }
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAC,CAAoB;IACtC,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,SAAS,CAA+D;IAChF,OAAO,CAAC,aAAa,CAAsD;gBAE/D,OAAO,EAAE,MAAM,GAAG,0BAA0B;IAS3C,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAwDjD,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3D,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7D,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASrC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI;IAY7E,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI;CAW5E"}
@@ -0,0 +1,107 @@
1
+ export class WebSocketPtyAdapter {
2
+ wsUrl;
3
+ protocols;
4
+ ws = null;
5
+ listeners = new Map();
6
+ exitListeners = new Map();
7
+ constructor(options) {
8
+ if (typeof options === "string") {
9
+ this.wsUrl = options;
10
+ }
11
+ else {
12
+ this.wsUrl = options.wsUrl;
13
+ this.protocols = options.protocols;
14
+ }
15
+ }
16
+ async spawn(options) {
17
+ const id = Date.now() + Math.floor(Math.random() * 1000);
18
+ const queryParams = new URLSearchParams({
19
+ id: String(id),
20
+ cols: String(options.cols),
21
+ rows: String(options.rows),
22
+ ...(options.cwd ? { cwd: options.cwd } : {}),
23
+ });
24
+ const url = this.wsUrl.includes("?")
25
+ ? `${this.wsUrl}&${queryParams.toString()}`
26
+ : `${this.wsUrl}?${queryParams.toString()}`;
27
+ return new Promise((resolve, reject) => {
28
+ try {
29
+ this.ws = new WebSocket(url, this.protocols);
30
+ this.ws.binaryType = "arraybuffer";
31
+ this.ws.onopen = () => {
32
+ resolve(id);
33
+ };
34
+ this.ws.onerror = (err) => {
35
+ reject(err);
36
+ };
37
+ this.ws.onmessage = (event) => {
38
+ const listeners = this.listeners.get(id);
39
+ if (!listeners || listeners.size === 0)
40
+ return;
41
+ let data;
42
+ if (event.data instanceof ArrayBuffer) {
43
+ data = new Uint8Array(event.data);
44
+ }
45
+ else {
46
+ data = event.data;
47
+ }
48
+ for (const cb of listeners) {
49
+ cb(data);
50
+ }
51
+ };
52
+ this.ws.onclose = (event) => {
53
+ const exitListeners = this.exitListeners.get(id);
54
+ if (exitListeners) {
55
+ for (const cb of exitListeners) {
56
+ cb(event.code === 1000 ? 0 : 1);
57
+ }
58
+ }
59
+ };
60
+ }
61
+ catch (err) {
62
+ reject(err);
63
+ }
64
+ });
65
+ }
66
+ async write(id, data) {
67
+ if (this.ws && this.ws.readyState === WebSocket.OPEN) {
68
+ this.ws.send(data);
69
+ }
70
+ }
71
+ async resize(id, cols, rows) {
72
+ if (this.ws && this.ws.readyState === WebSocket.OPEN) {
73
+ this.ws.send(JSON.stringify({ type: "resize", id, cols, rows }));
74
+ }
75
+ }
76
+ async kill(id) {
77
+ if (this.ws) {
78
+ this.ws.close(1000, "Normal Closure");
79
+ this.ws = null;
80
+ }
81
+ this.listeners.delete(id);
82
+ this.exitListeners.delete(id);
83
+ }
84
+ onData(id, callback) {
85
+ let set = this.listeners.get(id);
86
+ if (!set) {
87
+ set = new Set();
88
+ this.listeners.set(id, set);
89
+ }
90
+ set.add(callback);
91
+ return () => {
92
+ set?.delete(callback);
93
+ };
94
+ }
95
+ onExit(id, callback) {
96
+ let set = this.exitListeners.get(id);
97
+ if (!set) {
98
+ set = new Set();
99
+ this.exitListeners.set(id, set);
100
+ }
101
+ set.add(callback);
102
+ return () => {
103
+ set?.delete(callback);
104
+ };
105
+ }
106
+ }
107
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/web/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "@termaxjs/web-adapter",
3
+ "version": "0.1.1",
4
+ "description": "Universal native and web platform adapters for the Termax Headless ADE toolkit",
5
+ "main": "./dist/index.js",
6
+ "module": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js",
12
+ "default": "./dist/index.js"
13
+ },
14
+ "./tauri": {
15
+ "types": "./dist/tauri/index.d.ts",
16
+ "import": "./dist/tauri/index.js",
17
+ "default": "./dist/tauri/index.js"
18
+ },
19
+ "./web": {
20
+ "types": "./dist/web/index.d.ts",
21
+ "import": "./dist/web/index.js",
22
+ "default": "./dist/web/index.js"
23
+ },
24
+ "./remote": {
25
+ "types": "./dist/remote/index.d.ts",
26
+ "import": "./dist/remote/index.js",
27
+ "default": "./dist/remote/index.js"
28
+ },
29
+ "./mock": {
30
+ "types": "./dist/mock/index.d.ts",
31
+ "import": "./dist/mock/index.js",
32
+ "default": "./dist/mock/index.js"
33
+ },
34
+ "./electron": {
35
+ "types": "./dist/electron/index.d.ts",
36
+ "import": "./dist/electron/index.js",
37
+ "default": "./dist/electron/index.js"
38
+ }
39
+ },
40
+ "type": "module",
41
+ "dependencies": {
42
+ "@termaxjs/web-core": "0.1.1"
43
+ },
44
+ "peerDependencies": {
45
+ "@tauri-apps/api": ">=2.0.0"
46
+ },
47
+ "peerDependenciesMeta": {
48
+ "@tauri-apps/api": {
49
+ "optional": true
50
+ }
51
+ },
52
+ "devDependencies": {
53
+ "@tauri-apps/api": "^2.0.0",
54
+ "typescript": "^5.7.2",
55
+ "vitest": "^3.0.5"
56
+ },
57
+ "license": "Apache-2.0",
58
+ "files": [
59
+ "dist",
60
+ "LICENSE",
61
+ "README.md"
62
+ ],
63
+ "publishConfig": {
64
+ "access": "public"
65
+ },
66
+ "scripts": {
67
+ "build": "tsc",
68
+ "check-types": "tsc --noEmit",
69
+ "test": "vitest run --passWithNoTests"
70
+ }
71
+ }