@vectojs/numera-cli 0.2.0 → 0.2.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.
- package/CHANGELOG.md +11 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +14 -4
- package/dist/cli.mjs +14 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 1270922: Reject multiple value flags in `numera set` instead of silently using the last
|
|
8
|
+
one and writing an ambiguous workbook output.
|
|
9
|
+
|
|
3
10
|
## 0.2.0
|
|
4
11
|
|
|
5
12
|
### Minor Changes
|
|
@@ -11,6 +18,10 @@ All notable changes to this project are documented in this file.
|
|
|
11
18
|
|
|
12
19
|
## Unreleased
|
|
13
20
|
|
|
21
|
+
### Fixed
|
|
22
|
+
|
|
23
|
+
- Reject multiple `set` value flags before reading or writing workbook output.
|
|
24
|
+
|
|
14
25
|
### Added
|
|
15
26
|
|
|
16
27
|
- Safe local `inspect`, `get`, and explicit-output `set` commands for Numera
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAMA,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,iBAAe,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA4BxD;AAED,iBAAS,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAMA,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,iBAAe,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA4BxD;AAED,iBAAS,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,cAAc,CAqC3D;AAiBD,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -227,22 +227,32 @@ async function run(arguments_) {
|
|
|
227
227
|
function parseSetValue(arguments_) {
|
|
228
228
|
let raw;
|
|
229
229
|
let output;
|
|
230
|
+
let valueFlagCount = 0;
|
|
231
|
+
const setRaw = (value) => {
|
|
232
|
+
valueFlagCount++;
|
|
233
|
+
if (valueFlagCount > 1)
|
|
234
|
+
throw new CliError(
|
|
235
|
+
"INVALID_ARGUMENT",
|
|
236
|
+
"set requires exactly one value flag"
|
|
237
|
+
);
|
|
238
|
+
raw = value;
|
|
239
|
+
};
|
|
230
240
|
for (let index = 0; index < arguments_.length; index += 2) {
|
|
231
241
|
const flag = arguments_[index];
|
|
232
242
|
const value = arguments_[index + 1];
|
|
233
243
|
if (!value)
|
|
234
244
|
throw new CliError("INVALID_ARGUMENT", `Missing value for ${flag}`);
|
|
235
|
-
if (flag === "--text")
|
|
245
|
+
if (flag === "--text") setRaw(value);
|
|
236
246
|
else if (flag === "--number") {
|
|
237
247
|
if (!Number.isFinite(Number(value)))
|
|
238
248
|
throw new CliError("INVALID_ARGUMENT", `Invalid number: ${value}`);
|
|
239
|
-
|
|
249
|
+
setRaw(value);
|
|
240
250
|
} else if (flag === "--boolean") {
|
|
241
251
|
if (value !== "true" && value !== "false")
|
|
242
252
|
throw new CliError("INVALID_ARGUMENT", `Invalid boolean: ${value}`);
|
|
243
|
-
|
|
253
|
+
setRaw(value.toUpperCase());
|
|
244
254
|
} else if (flag === "--formula")
|
|
245
|
-
|
|
255
|
+
setRaw(value.startsWith("=") ? value : `=${value}`);
|
|
246
256
|
else if (flag === "--output") output = value;
|
|
247
257
|
else throw new CliError("INVALID_ARGUMENT", `Unknown option: ${flag}`);
|
|
248
258
|
}
|
package/dist/cli.mjs
CHANGED
|
@@ -207,22 +207,32 @@ async function run(arguments_) {
|
|
|
207
207
|
function parseSetValue(arguments_) {
|
|
208
208
|
let raw;
|
|
209
209
|
let output;
|
|
210
|
+
let valueFlagCount = 0;
|
|
211
|
+
const setRaw = (value) => {
|
|
212
|
+
valueFlagCount++;
|
|
213
|
+
if (valueFlagCount > 1)
|
|
214
|
+
throw new CliError(
|
|
215
|
+
"INVALID_ARGUMENT",
|
|
216
|
+
"set requires exactly one value flag"
|
|
217
|
+
);
|
|
218
|
+
raw = value;
|
|
219
|
+
};
|
|
210
220
|
for (let index = 0; index < arguments_.length; index += 2) {
|
|
211
221
|
const flag = arguments_[index];
|
|
212
222
|
const value = arguments_[index + 1];
|
|
213
223
|
if (!value)
|
|
214
224
|
throw new CliError("INVALID_ARGUMENT", `Missing value for ${flag}`);
|
|
215
|
-
if (flag === "--text")
|
|
225
|
+
if (flag === "--text") setRaw(value);
|
|
216
226
|
else if (flag === "--number") {
|
|
217
227
|
if (!Number.isFinite(Number(value)))
|
|
218
228
|
throw new CliError("INVALID_ARGUMENT", `Invalid number: ${value}`);
|
|
219
|
-
|
|
229
|
+
setRaw(value);
|
|
220
230
|
} else if (flag === "--boolean") {
|
|
221
231
|
if (value !== "true" && value !== "false")
|
|
222
232
|
throw new CliError("INVALID_ARGUMENT", `Invalid boolean: ${value}`);
|
|
223
|
-
|
|
233
|
+
setRaw(value.toUpperCase());
|
|
224
234
|
} else if (flag === "--formula")
|
|
225
|
-
|
|
235
|
+
setRaw(value.startsWith("=") ? value : `=${value}`);
|
|
226
236
|
else if (flag === "--output") output = value;
|
|
227
237
|
else throw new CliError("INVALID_ARGUMENT", `Unknown option: ${flag}`);
|
|
228
238
|
}
|