@mirascript/cli 0.1.61 → 0.1.62-alpha.7
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/LICENSE +21 -0
- package/package.json +4 -4
- package/tsconfig.json +1 -0
- package/dist/index.js +0 -248
- package/dist/index.js.map +0 -6
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 CloudPSS
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mirascript/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.62-alpha.7",
|
|
4
4
|
"author": "CloudPSS",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Cli for MiraScript, an expression based scripting language.",
|
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
"ansi-styles": "^6.2.3",
|
|
26
26
|
"commander": "^14.0.3",
|
|
27
27
|
"supports-color": "^10.2.2",
|
|
28
|
-
"@mirascript/bindings": "~0.1.
|
|
29
|
-
"@mirascript/mirascript": "~0.1.
|
|
28
|
+
"@mirascript/bindings": "~0.1.62-alpha.7",
|
|
29
|
+
"@mirascript/mirascript": "~0.1.62-alpha.7"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@types/node": "^25.
|
|
32
|
+
"@types/node": "^25.6.0",
|
|
33
33
|
"type-fest": "^5.5.0"
|
|
34
34
|
},
|
|
35
35
|
"scripts": {
|
package/tsconfig.json
CHANGED
package/dist/index.js
DELETED
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
// src/index.ts
|
|
2
|
-
import { program as program3 } from "@commander-js/extra-typings";
|
|
3
|
-
import pkg from "#package.json" with { type: "json" };
|
|
4
|
-
|
|
5
|
-
// src/commands/run.ts
|
|
6
|
-
import { readFile, stat } from "node:fs/promises";
|
|
7
|
-
import { pathToFileURL } from "node:url";
|
|
8
|
-
import { InvalidArgumentError, program } from "@commander-js/extra-typings";
|
|
9
|
-
import { compileSync, configCheckpoint } from "@mirascript/mirascript";
|
|
10
|
-
|
|
11
|
-
// src/utils/execute.ts
|
|
12
|
-
import styles2 from "ansi-styles";
|
|
13
|
-
import supportsColor2 from "supports-color";
|
|
14
|
-
import { compile, createVmContext } from "@mirascript/mirascript";
|
|
15
|
-
import { lib } from "@mirascript/mirascript/subtle";
|
|
16
|
-
|
|
17
|
-
// src/utils/print.ts
|
|
18
|
-
import styles from "ansi-styles";
|
|
19
|
-
import supportsColor from "supports-color";
|
|
20
|
-
import {
|
|
21
|
-
serialize,
|
|
22
|
-
serializeNumber,
|
|
23
|
-
serializeBoolean,
|
|
24
|
-
serializeNil,
|
|
25
|
-
operations
|
|
26
|
-
} from "@mirascript/mirascript/subtle";
|
|
27
|
-
var noColor = !supportsColor.stdout;
|
|
28
|
-
var options = {
|
|
29
|
-
maxDepth: 3,
|
|
30
|
-
serializeNil: noColor ? void 0 : () => styles.gray.open + serializeNil() + styles.gray.close,
|
|
31
|
-
serializeBoolean: noColor ? void 0 : (v) => styles.blue.open + serializeBoolean(v) + styles.blue.close,
|
|
32
|
-
serializeNumber: noColor ? void 0 : (v) => styles.yellow.open + serializeNumber(v) + styles.yellow.close,
|
|
33
|
-
serializeStringQuote: noColor ? void 0 : (v, open) => {
|
|
34
|
-
const q = styles.dim.open + v + styles.dim.close;
|
|
35
|
-
if (open) {
|
|
36
|
-
return styles.green.open + q;
|
|
37
|
-
} else {
|
|
38
|
-
return q + styles.green.close;
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
serializeStringEscape: noColor ? void 0 : (v) => styles.bold.open + v + styles.bold.close,
|
|
42
|
-
serializePropName: noColor ? void 0 : (v) => styles.whiteBright.open + String(v) + styles.whiteBright.close,
|
|
43
|
-
serializeFunction: noColor ? operations.$ToString : (v) => styles.cyan.open + operations.$ToString(v) + styles.cyan.close,
|
|
44
|
-
serializeModule: noColor ? (v, depth, options2) => {
|
|
45
|
-
return operations.$ToString(v) + " " + options2.serializeRecord(v.value, depth, options2);
|
|
46
|
-
} : (v, depth, options2) => {
|
|
47
|
-
return styles.magenta.open + operations.$ToString(v) + styles.magenta.close + " " + options2.serializeRecord(v.value, depth, options2);
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
function print(value, depth = 3) {
|
|
51
|
-
if (value === void 0) {
|
|
52
|
-
if (noColor) return "<uninitialized>";
|
|
53
|
-
return styles.gray.open + "<uninitialized>" + styles.gray.close;
|
|
54
|
-
}
|
|
55
|
-
return serialize(value, { ...options, maxDepth: depth });
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// src/utils/execute.ts
|
|
59
|
-
var { panic, debug_print } = lib;
|
|
60
|
-
panic.serializer = debug_print.serializer = (arg, format2) => {
|
|
61
|
-
if (!format2 && typeof arg == "string") {
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
64
|
-
if (format2 === "%o" || format2 === "%O" || !format2) {
|
|
65
|
-
return print(arg);
|
|
66
|
-
}
|
|
67
|
-
return null;
|
|
68
|
-
};
|
|
69
|
-
async function execute(script, template, variables, fileName) {
|
|
70
|
-
try {
|
|
71
|
-
const f = await compile(script, { input_mode: template ? "Template" : "Script", sourceMap: true, fileName });
|
|
72
|
-
const r = f(createVmContext(variables));
|
|
73
|
-
if (template) {
|
|
74
|
-
console.log(r);
|
|
75
|
-
} else {
|
|
76
|
-
console.log(print(r));
|
|
77
|
-
}
|
|
78
|
-
} catch (ex) {
|
|
79
|
-
const { stack } = ex;
|
|
80
|
-
if (supportsColor2.stderr) {
|
|
81
|
-
console.error(styles2.red.open + stack + styles2.red.close);
|
|
82
|
-
} else {
|
|
83
|
-
console.error(stack);
|
|
84
|
-
}
|
|
85
|
-
process.exitCode = 2;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
// src/commands/run.ts
|
|
90
|
-
var DEFAULT_TIMEOUT = 3e3;
|
|
91
|
-
program.command("run", { isDefault: true }).description("执行 MiraScript 脚本,默认命令").option(
|
|
92
|
-
"-v, --variable <key=value>",
|
|
93
|
-
"设置全局变量,可以多次使用",
|
|
94
|
-
(v, p2) => {
|
|
95
|
-
p2 = { ...p2 };
|
|
96
|
-
const i = v.indexOf("=");
|
|
97
|
-
if (i < 0) {
|
|
98
|
-
p2[v] = true;
|
|
99
|
-
} else {
|
|
100
|
-
const key = v.slice(0, i).trim();
|
|
101
|
-
const value = v.slice(i + 1).trim();
|
|
102
|
-
try {
|
|
103
|
-
const pv = compileSync(`return (${value});`)();
|
|
104
|
-
p2[key] = pv ?? value;
|
|
105
|
-
} catch {
|
|
106
|
-
p2[key] = value;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
return p2;
|
|
110
|
-
},
|
|
111
|
-
{}
|
|
112
|
-
).option("-t, --template", "使用模板模式").option(
|
|
113
|
-
"--timeout <ms>",
|
|
114
|
-
"脚本执行超时时间(毫秒,0 表示不超时)",
|
|
115
|
-
(v) => {
|
|
116
|
-
const ms = Number.parseFloat(v);
|
|
117
|
-
if (Number.isNaN(ms) || ms < 0) {
|
|
118
|
-
throw new InvalidArgumentError("超时时间必须是非负整数");
|
|
119
|
-
}
|
|
120
|
-
return ms;
|
|
121
|
-
},
|
|
122
|
-
DEFAULT_TIMEOUT
|
|
123
|
-
).option("--no-template", "使用脚本模式").option("-e, --eval <script>", "要执行的脚本").argument("[script]", "要执行的脚本文件路径(如果提供了 -e 则忽略此参数)").action(async (script, opt) => {
|
|
124
|
-
configCheckpoint(opt.timeout || Number.POSITIVE_INFINITY);
|
|
125
|
-
if (opt.eval != null) {
|
|
126
|
-
const template = !!opt.template;
|
|
127
|
-
await execute(opt.eval, template, opt.variable, template ? "eval.miratpl" : "eval.mira");
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
if (script) {
|
|
131
|
-
try {
|
|
132
|
-
const s = await stat(script);
|
|
133
|
-
if (!s.isFile()) {
|
|
134
|
-
console.error(`脚本路径不是文件: ${script}`);
|
|
135
|
-
process.exitCode = 2;
|
|
136
|
-
return;
|
|
137
|
-
}
|
|
138
|
-
} catch (ex) {
|
|
139
|
-
if (ex.code === "ENOENT") {
|
|
140
|
-
console.error(`脚本文件不存在: ${script}`);
|
|
141
|
-
process.exitCode = 2;
|
|
142
|
-
} else if (ex.code === "EACCES") {
|
|
143
|
-
console.error(`权限不足: ${ex.message}`);
|
|
144
|
-
process.exitCode = 3;
|
|
145
|
-
} else {
|
|
146
|
-
console.error(`无法访问脚本文件: ${ex.message}`);
|
|
147
|
-
process.exitCode = 1;
|
|
148
|
-
}
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
const context = await readFile(script, "utf8");
|
|
152
|
-
const template = opt.template ?? script.endsWith(".miratpl");
|
|
153
|
-
await execute(context, template, opt.variable, pathToFileURL(script).href);
|
|
154
|
-
return;
|
|
155
|
-
}
|
|
156
|
-
program.help({ error: true });
|
|
157
|
-
});
|
|
158
|
-
|
|
159
|
-
// src/commands/format.ts
|
|
160
|
-
import fs from "node:fs/promises";
|
|
161
|
-
import { program as program2 } from "@commander-js/extra-typings";
|
|
162
|
-
import { loadModule } from "@mirascript/bindings/wasm";
|
|
163
|
-
var templateConfig = null;
|
|
164
|
-
var scriptConfig = null;
|
|
165
|
-
async function getConfig(templateMode) {
|
|
166
|
-
const mod = await loadModule();
|
|
167
|
-
if (templateMode) {
|
|
168
|
-
if (!templateConfig) {
|
|
169
|
-
templateConfig = new mod.wasm.Config();
|
|
170
|
-
templateConfig.input_mode = mod.wasm.InputMode.Template;
|
|
171
|
-
templateConfig.trivia = true;
|
|
172
|
-
templateConfig.diagnostic_position_encoding = mod.wasm.DiagnosticPositionEncoding.Utf8;
|
|
173
|
-
}
|
|
174
|
-
return templateConfig;
|
|
175
|
-
} else {
|
|
176
|
-
if (!scriptConfig) {
|
|
177
|
-
scriptConfig = new mod.wasm.Config();
|
|
178
|
-
scriptConfig.input_mode = mod.wasm.InputMode.Script;
|
|
179
|
-
scriptConfig.trivia = true;
|
|
180
|
-
scriptConfig.diagnostic_position_encoding = mod.wasm.DiagnosticPositionEncoding.Utf8;
|
|
181
|
-
}
|
|
182
|
-
return scriptConfig;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
async function format(input, templateMode) {
|
|
186
|
-
if (!input) return "";
|
|
187
|
-
const mod = await loadModule();
|
|
188
|
-
const compiler = new mod.wasm.MonacoCompiler(input, await getConfig(templateMode));
|
|
189
|
-
try {
|
|
190
|
-
if (!compiler.parse()) return void 0;
|
|
191
|
-
const formatted = compiler.format();
|
|
192
|
-
if (!formatted) return void 0;
|
|
193
|
-
return formatted;
|
|
194
|
-
} finally {
|
|
195
|
-
compiler.free();
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
var command = program2.command("format");
|
|
199
|
-
command.description("格式化 MiraScript 脚本").option("-w, --write", "直接修改文件").option("-t, --template", "对无法推断类型的文件使用模板模式").argument("<script...>", '要格式化的脚本文件路径或 glob,输入 "-" 表示从标准输入读取').action(async (script, opt) => {
|
|
200
|
-
if (script.length === 0) {
|
|
201
|
-
command.help({ error: true });
|
|
202
|
-
}
|
|
203
|
-
if (script.length === 1 && script[0] === "-") {
|
|
204
|
-
let input = "";
|
|
205
|
-
for await (const chunk of process.stdin) {
|
|
206
|
-
input += chunk;
|
|
207
|
-
}
|
|
208
|
-
const output = await format(input, !!opt.template);
|
|
209
|
-
if (output == null) {
|
|
210
|
-
console.error("格式化失败");
|
|
211
|
-
process.exit(1);
|
|
212
|
-
}
|
|
213
|
-
process.stdout.write(output);
|
|
214
|
-
return;
|
|
215
|
-
}
|
|
216
|
-
for await (const file of fs.glob(script)) {
|
|
217
|
-
const input = await fs.readFile(file, "utf8");
|
|
218
|
-
const output = await format(input, !!opt.template);
|
|
219
|
-
if (opt.write) {
|
|
220
|
-
if (output == null) {
|
|
221
|
-
console.error(`格式化失败: ${file}`);
|
|
222
|
-
continue;
|
|
223
|
-
}
|
|
224
|
-
if (output === input) {
|
|
225
|
-
console.warn(`文件未更改: ${file}`);
|
|
226
|
-
continue;
|
|
227
|
-
}
|
|
228
|
-
await fs.writeFile(file, output, "utf8");
|
|
229
|
-
console.warn(`已格式化文件: ${file}`);
|
|
230
|
-
} else {
|
|
231
|
-
process.stdout.write(`// File: ${file}
|
|
232
|
-
`);
|
|
233
|
-
process.stdout.write((output ?? input) + "\n");
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
});
|
|
237
|
-
|
|
238
|
-
// src/index.ts
|
|
239
|
-
var p = program3;
|
|
240
|
-
var binName = Object.keys(pkg.bin)[0];
|
|
241
|
-
if (binName) {
|
|
242
|
-
p = program3.name(binName);
|
|
243
|
-
}
|
|
244
|
-
var index_default = p.version(pkg.version).description(pkg.description);
|
|
245
|
-
export {
|
|
246
|
-
index_default as default
|
|
247
|
-
};
|
|
248
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/index.ts", "../src/commands/run.ts", "../src/utils/execute.ts", "../src/utils/print.ts", "../src/commands/format.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["program", "styles", "supportsColor", "options", "format", "supportsColor", "styles", "p", "program", "program"]
|
|
6
|
-
}
|