@sleetch/cli 1.0.8 → 1.0.10
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/bin/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { t as create_command } from "../create-
|
|
2
|
+
import { t as create_command } from "../create-Dqt5Rb8U.js";
|
|
3
3
|
import { parseArgs, styleText } from "node:util";
|
|
4
|
+
import { WebsocketServer } from "@sleetch/websockets/server";
|
|
4
5
|
//#endregion
|
|
5
6
|
//#region src/bin/index.ts
|
|
6
7
|
new class sleetch_cli {
|
|
@@ -151,6 +152,97 @@ new class sleetch_cli {
|
|
|
151
152
|
if (error instanceof Error) cli.error("error", error.message);
|
|
152
153
|
}
|
|
153
154
|
}
|
|
155
|
+
}).add({
|
|
156
|
+
name: "studio",
|
|
157
|
+
description: "Start content studio.",
|
|
158
|
+
active: true,
|
|
159
|
+
options: {},
|
|
160
|
+
action: async (options, cli) => {
|
|
161
|
+
try {
|
|
162
|
+
const { studio_events } = await import("@sleetch/core/studio");
|
|
163
|
+
const { sleetch_runtime } = await import("@sleetch/core/compiler");
|
|
164
|
+
const { get_languages, get_tree } = await import("@sleetch/server");
|
|
165
|
+
const token = crypto.randomUUID();
|
|
166
|
+
const server = new WebsocketServer({
|
|
167
|
+
events: studio_events,
|
|
168
|
+
port: 2008,
|
|
169
|
+
path: `/${token}`
|
|
170
|
+
});
|
|
171
|
+
const runtime = new sleetch_runtime();
|
|
172
|
+
await runtime.sources.load();
|
|
173
|
+
await runtime.builder.build();
|
|
174
|
+
await runtime.sources.watch();
|
|
175
|
+
console.log(`Open ${`https://studio.sleetch.dev/?token=${token}`}`);
|
|
176
|
+
server.on("connect", (socket) => {
|
|
177
|
+
server.call({
|
|
178
|
+
id: "get-languages",
|
|
179
|
+
data: {}
|
|
180
|
+
}, socket);
|
|
181
|
+
server.call({
|
|
182
|
+
id: "get-trees",
|
|
183
|
+
data: {}
|
|
184
|
+
}, socket);
|
|
185
|
+
server.call({
|
|
186
|
+
id: "get-sources",
|
|
187
|
+
data: void 0
|
|
188
|
+
}, socket);
|
|
189
|
+
});
|
|
190
|
+
server.on("get-languages", async (_, socket) => {
|
|
191
|
+
await socket.send({
|
|
192
|
+
id: "update-languages",
|
|
193
|
+
data: { languages: await get_languages() }
|
|
194
|
+
});
|
|
195
|
+
});
|
|
196
|
+
server.on("get-trees", async (_, socket) => {
|
|
197
|
+
const languages = await get_languages();
|
|
198
|
+
for (const language of languages) {
|
|
199
|
+
const { tree } = await get_tree(language);
|
|
200
|
+
await socket.send({
|
|
201
|
+
id: "update-tree",
|
|
202
|
+
data: {
|
|
203
|
+
language,
|
|
204
|
+
tree
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
server.on("get-tree", async (data, socket) => {
|
|
210
|
+
const { tree, language } = await get_tree(data.language);
|
|
211
|
+
await socket.send({
|
|
212
|
+
id: "update-tree",
|
|
213
|
+
data: {
|
|
214
|
+
language,
|
|
215
|
+
tree
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
});
|
|
219
|
+
server.on("get-sources", async (data, socket) => {
|
|
220
|
+
await socket.send({
|
|
221
|
+
id: "update-sources",
|
|
222
|
+
data: { sources: runtime.sources.details() }
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
runtime.watcher.on("updated-manifest", async () => {
|
|
226
|
+
const languages = await get_languages();
|
|
227
|
+
server.broadcast({
|
|
228
|
+
id: "update-languages",
|
|
229
|
+
data: { languages }
|
|
230
|
+
});
|
|
231
|
+
});
|
|
232
|
+
runtime.watcher.on("updated-tree", async (language) => {
|
|
233
|
+
const { tree } = await get_tree(language);
|
|
234
|
+
server.broadcast({
|
|
235
|
+
id: "update-tree",
|
|
236
|
+
data: {
|
|
237
|
+
language,
|
|
238
|
+
tree
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
});
|
|
242
|
+
} catch (error) {
|
|
243
|
+
if (error instanceof Error) cli.error("error", error.message);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
154
246
|
}).add(create_command).run(process.argv.slice(2));
|
|
155
247
|
//#endregion
|
|
156
248
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as create_command } from "../../create-
|
|
1
|
+
import { t as create_command } from "../../create-Dqt5Rb8U.js";
|
|
2
2
|
export { create_command };
|
|
@@ -7,7 +7,7 @@ import { promisify, styleText } from "node:util";
|
|
|
7
7
|
import zlib from "node:zlib";
|
|
8
8
|
import tar from "tar-fs";
|
|
9
9
|
//#region package.json
|
|
10
|
-
var version = "1.0.
|
|
10
|
+
var version = "1.0.10";
|
|
11
11
|
//#endregion
|
|
12
12
|
//#region src/commands/create/index.ts
|
|
13
13
|
const create_command = {
|
package/package.json
CHANGED
|
@@ -1,34 +1,36 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
2
|
+
"name": "@sleetch/cli",
|
|
3
|
+
"version": "1.0.10",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"files": [
|
|
6
|
+
"dist"
|
|
7
|
+
],
|
|
8
|
+
"publishConfig": {
|
|
9
|
+
"access": "public"
|
|
10
|
+
},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build": "tsdown",
|
|
13
|
+
"dev": "tsdown --watch"
|
|
14
|
+
},
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"@sleetch/core": "1.0.10",
|
|
17
|
+
"@sleetch/server": "1.0.10",
|
|
18
|
+
"@sleetch/websockets": "0.0.2",
|
|
19
|
+
"tar-fs": "^3.1.3",
|
|
20
|
+
"zod": "^4.4.3"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"@types/tar-fs": "^2.0.4"
|
|
24
|
+
},
|
|
25
|
+
"exports": {
|
|
26
|
+
"./bin": "./dist/bin/index.js",
|
|
27
|
+
"./commands/create": "./dist/commands/create/index.js",
|
|
28
|
+
"./package.json": "./package.json"
|
|
29
|
+
},
|
|
30
|
+
"bin": {
|
|
31
|
+
"sleetch": "./dist/bin/index.js"
|
|
32
|
+
},
|
|
33
|
+
"types": "./dist/index.d.ts",
|
|
34
|
+
"main": "./dist/index.js",
|
|
35
|
+
"module": "./dist/index.js"
|
|
34
36
|
}
|