i-repo 2.0.0 → 2.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 +37 -10
- package/dist/bin/irepo.d.ts.map +1 -1
- package/dist/bin/irepo.js +118 -13
- package/dist/bin/irepo.js.map +1 -1
- package/dist/commands/auth.js +6 -0
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +15 -3
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/definition-batches/index.d.ts.map +1 -1
- package/dist/commands/definition-batches/index.js +20 -21
- package/dist/commands/definition-batches/index.js.map +1 -1
- package/dist/commands/definitions/get.d.ts.map +1 -1
- package/dist/commands/definitions/get.js +6 -2
- package/dist/commands/definitions/get.js.map +1 -1
- package/dist/commands/definitions/labels.d.ts.map +1 -1
- package/dist/commands/definitions/labels.js +9 -8
- package/dist/commands/definitions/labels.js.map +1 -1
- package/dist/commands/definitions/list.d.ts.map +1 -1
- package/dist/commands/definitions/list.js +11 -16
- package/dist/commands/definitions/list.js.map +1 -1
- package/dist/commands/definitions/lock.d.ts.map +1 -1
- package/dist/commands/definitions/lock.js +7 -3
- package/dist/commands/definitions/lock.js.map +1 -1
- package/dist/commands/definitions/roles.d.ts.map +1 -1
- package/dist/commands/definitions/roles.js +7 -6
- package/dist/commands/definitions/roles.js.map +1 -1
- package/dist/commands/plugin.d.ts.map +1 -1
- package/dist/commands/plugin.js +69 -6
- package/dist/commands/plugin.js.map +1 -1
- package/dist/commands/raw.d.ts.map +1 -1
- package/dist/commands/raw.js +5 -4
- package/dist/commands/raw.js.map +1 -1
- package/dist/commands/report-batches/index.d.ts.map +1 -1
- package/dist/commands/report-batches/index.js +94 -94
- package/dist/commands/report-batches/index.js.map +1 -1
- package/dist/commands/reports/cluster-value.d.ts.map +1 -1
- package/dist/commands/reports/cluster-value.js +11 -7
- package/dist/commands/reports/cluster-value.js.map +1 -1
- package/dist/commands/reports/copy.d.ts.map +1 -1
- package/dist/commands/reports/copy.js +7 -4
- package/dist/commands/reports/copy.js.map +1 -1
- package/dist/commands/reports/create-sorted.d.ts.map +1 -1
- package/dist/commands/reports/create-sorted.js +6 -3
- package/dist/commands/reports/create-sorted.js.map +1 -1
- package/dist/commands/reports/download.d.ts.map +1 -1
- package/dist/commands/reports/download.js +7 -4
- package/dist/commands/reports/download.js.map +1 -1
- package/dist/commands/reports/get.d.ts.map +1 -1
- package/dist/commands/reports/get.js +13 -7
- package/dist/commands/reports/get.js.map +1 -1
- package/dist/commands/reports/labels.d.ts.map +1 -1
- package/dist/commands/reports/labels.js +5 -4
- package/dist/commands/reports/labels.js.map +1 -1
- package/dist/commands/reports/list.d.ts.map +1 -1
- package/dist/commands/reports/list.js +38 -45
- package/dist/commands/reports/list.js.map +1 -1
- package/dist/commands/reports/lock.d.ts.map +1 -1
- package/dist/commands/reports/lock.js +7 -3
- package/dist/commands/reports/lock.js.map +1 -1
- package/dist/commands/reports/roles.d.ts.map +1 -1
- package/dist/commands/reports/roles.js +5 -4
- package/dist/commands/reports/roles.js.map +1 -1
- package/dist/commands/schema.d.ts +34 -0
- package/dist/commands/schema.d.ts.map +1 -0
- package/dist/commands/schema.js +73 -0
- package/dist/commands/schema.js.map +1 -0
- package/dist/commands/shared-options.d.ts +62 -0
- package/dist/commands/shared-options.d.ts.map +1 -0
- package/dist/commands/shared-options.js +144 -0
- package/dist/commands/shared-options.js.map +1 -0
- package/dist/commands/systems/index.d.ts.map +1 -1
- package/dist/commands/systems/index.js +52 -45
- package/dist/commands/systems/index.js.map +1 -1
- package/dist/config/client.d.ts.map +1 -1
- package/dist/config/client.js +6 -3
- package/dist/config/client.js.map +1 -1
- package/dist/config/command-gate.d.ts +69 -0
- package/dist/config/command-gate.d.ts.map +1 -0
- package/dist/config/command-gate.js +134 -0
- package/dist/config/command-gate.js.map +1 -0
- package/dist/config/scoped-store.d.ts.map +1 -1
- package/dist/config/scoped-store.js +40 -9
- package/dist/config/scoped-store.js.map +1 -1
- package/dist/config/store.d.ts +12 -0
- package/dist/config/store.d.ts.map +1 -1
- package/dist/config/store.js +2 -0
- package/dist/config/store.js.map +1 -1
- package/dist/contracts/registry.d.ts +37 -0
- package/dist/contracts/registry.d.ts.map +1 -0
- package/dist/contracts/registry.js +41 -0
- package/dist/contracts/registry.js.map +1 -0
- package/dist/core/errors.d.ts +12 -0
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +18 -0
- package/dist/core/errors.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/en.js +11 -0
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/ja.d.ts.map +1 -1
- package/dist/i18n/locales/ja.js +11 -0
- package/dist/i18n/locales/ja.js.map +1 -1
- package/dist/i18n/types.d.ts +9 -0
- package/dist/i18n/types.d.ts.map +1 -1
- package/dist/ink/components/OptionForm.d.ts.map +1 -1
- package/dist/ink/components/OptionForm.js +15 -3
- package/dist/ink/components/OptionForm.js.map +1 -1
- package/dist/ink/registry/commands.d.ts.map +1 -1
- package/dist/ink/registry/commands.js +66 -2
- package/dist/ink/registry/commands.js.map +1 -1
- package/dist/ink/registry/executors.d.ts.map +1 -1
- package/dist/ink/registry/executors.js +27 -12
- package/dist/ink/registry/executors.js.map +1 -1
- package/dist/ink/screens/CommandScreen.d.ts.map +1 -1
- package/dist/ink/screens/CommandScreen.js +12 -4
- package/dist/ink/screens/CommandScreen.js.map +1 -1
- package/dist/ink/screens/HomeScreen.d.ts.map +1 -1
- package/dist/ink/screens/HomeScreen.js +16 -3
- package/dist/ink/screens/HomeScreen.js.map +1 -1
- package/dist/ink/screens/PluginsScreen.d.ts.map +1 -1
- package/dist/ink/screens/PluginsScreen.js +27 -2
- package/dist/ink/screens/PluginsScreen.js.map +1 -1
- package/dist/ink/types.d.ts +12 -0
- package/dist/ink/types.d.ts.map +1 -1
- package/dist/plugins/describe.d.ts +60 -0
- package/dist/plugins/describe.d.ts.map +1 -0
- package/dist/plugins/describe.js +145 -0
- package/dist/plugins/describe.js.map +1 -0
- package/dist/plugins/dispatch.d.ts +14 -1
- package/dist/plugins/dispatch.d.ts.map +1 -1
- package/dist/plugins/dispatch.js +15 -4
- package/dist/plugins/dispatch.js.map +1 -1
- package/dist/plugins/templates.d.ts.map +1 -1
- package/dist/plugins/templates.js +12 -2
- package/dist/plugins/templates.js.map +1 -1
- package/dist/plugins/verify.d.ts +17 -0
- package/dist/plugins/verify.d.ts.map +1 -1
- package/dist/plugins/verify.js +23 -6
- package/dist/plugins/verify.js.map +1 -1
- package/dist/sdk/core/http-client.d.ts.map +1 -1
- package/dist/sdk/core/http-client.js +4 -1
- package/dist/sdk/core/http-client.js.map +1 -1
- package/dist/sdk/resources/shared.d.ts +5 -0
- package/dist/sdk/resources/shared.d.ts.map +1 -1
- package/dist/sdk/resources/shared.js +7 -4
- package/dist/sdk/resources/shared.js.map +1 -1
- package/dist/sdk/types/definition.d.ts +2 -2
- package/dist/sdk/types/definition.d.ts.map +1 -1
- package/dist/sdk/types/public.d.ts +16 -4
- package/dist/sdk/types/public.d.ts.map +1 -1
- package/dist/sdk/types/report.d.ts +2 -2
- package/dist/sdk/types/report.d.ts.map +1 -1
- package/dist/ui/formatters/csv.d.ts.map +1 -1
- package/dist/ui/formatters/csv.js +3 -2
- package/dist/ui/formatters/csv.js.map +1 -1
- package/dist/ui/formatters/envelope.d.ts +1 -0
- package/dist/ui/formatters/envelope.d.ts.map +1 -1
- package/dist/ui/formatters/envelope.js +1 -1
- package/dist/ui/formatters/envelope.js.map +1 -1
- package/dist/ui/formatters/index.d.ts +4 -1
- package/dist/ui/formatters/index.d.ts.map +1 -1
- package/dist/ui/formatters/index.js +9 -0
- package/dist/ui/formatters/index.js.map +1 -1
- package/dist/ui/formatters/json.d.ts.map +1 -1
- package/dist/ui/formatters/json.js +2 -1
- package/dist/ui/formatters/json.js.map +1 -1
- package/dist/ui/formatters/ndjson.d.ts +0 -18
- package/dist/ui/formatters/ndjson.d.ts.map +1 -1
- package/dist/ui/formatters/ndjson.js +2 -1
- package/dist/ui/formatters/ndjson.js.map +1 -1
- package/dist/ui/formatters/quiet.d.ts.map +1 -1
- package/dist/ui/formatters/quiet.js +3 -2
- package/dist/ui/formatters/quiet.js.map +1 -1
- package/dist/ui/formatters/table.d.ts.map +1 -1
- package/dist/ui/formatters/table.js +8 -7
- package/dist/ui/formatters/table.js.map +1 -1
- package/dist/ui/formatters/writer.d.ts +38 -0
- package/dist/ui/formatters/writer.d.ts.map +1 -0
- package/dist/ui/formatters/writer.js +83 -0
- package/dist/ui/formatters/writer.js.map +1 -0
- package/dist/ui/index.d.ts +1 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +1 -0
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/table.d.ts.map +1 -1
- package/dist/ui/table.js +11 -10
- package/dist/ui/table.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -134,6 +134,8 @@ CLI フラグ → 環境変数 → Local config → Project config → User conf
|
|
|
134
134
|
| `defaultFormat` | デフォルト出力形式 | `table` / `json` / `csv` |
|
|
135
135
|
| `timeout` | リクエストタイムアウト(秒) | 正の数値 |
|
|
136
136
|
| `quiet` | ID のみ出力モード | `true` / `false` |
|
|
137
|
+
| `allowDelete` | 削除コマンドの有効化(既定で非表示・無効) | `true` / `false` |
|
|
138
|
+
| `disabledCommands` | 無効化するコマンド(カンマ区切り、エイリアス可) | 例: `raw, repb delete` |
|
|
137
139
|
|
|
138
140
|
```bash
|
|
139
141
|
i-repo config set language ja # 日本語に切り替え
|
|
@@ -200,7 +202,7 @@ i-repo repb download -d 100 -o reports.zip # 一括ダウンロード
|
|
|
200
202
|
i-repo repb download-csv 12345 # CSV エクスポート
|
|
201
203
|
i-repo repb download-merged-pdf --reports '[{"repTopId":"12345"},{"repTopId":"12346"}]'
|
|
202
204
|
i-repo repb download-merged-pdf --xml-file request.xml # XMLファイルで直接指定
|
|
203
|
-
i-repo repb delete -d 100 #
|
|
205
|
+
i-repo repb delete -d 100 # 条件に合う帳票を削除(要 allowDelete=true・確認プロンプトあり)
|
|
204
206
|
i-repo repb delete -d 100 -f # 確認をスキップして削除
|
|
205
207
|
i-repo repb delete -d 100 --mode logical # 論理削除("0" も可)
|
|
206
208
|
i-repo repb delete -d 100 --mode physical -f # 物理削除(確認スキップ)
|
|
@@ -210,7 +212,7 @@ i-repo repb delete -d 100 --mode physical -f # 物理削除(確認スキ
|
|
|
210
212
|
|
|
211
213
|
```bash
|
|
212
214
|
i-repo defb update-select-items data.csv -t csv # 選択値情報更新
|
|
213
|
-
i-repo defb delete -d 100 #
|
|
215
|
+
i-repo defb delete -d 100 # 条件に合う定義を削除(要 allowDelete=true・確認プロンプトあり)
|
|
214
216
|
i-repo defb delete -d 100 -f # 確認をスキップして削除
|
|
215
217
|
i-repo defb delete --mode logical # 論理削除
|
|
216
218
|
i-repo defb delete --mode physical -f # 物理削除(確認スキップ)
|
|
@@ -245,7 +247,7 @@ i-repo sys users upload users.csv -t csv # ユーザー登録
|
|
|
245
247
|
i-repo sys groups download -t csv # グループ一覧
|
|
246
248
|
i-repo sys terminals download -t csv # 端末情報
|
|
247
249
|
i-repo sys url-scheme # URLスキーム取得
|
|
248
|
-
i-repo sys delete-label --label-type def #
|
|
250
|
+
i-repo sys delete-label --label-type def # ラベル削除(要 allowDelete=true・確認プロンプトあり)
|
|
249
251
|
i-repo sys delete-label --label-type def -f # 確認をスキップして削除
|
|
250
252
|
```
|
|
251
253
|
|
|
@@ -253,7 +255,31 @@ i-repo sys delete-label --label-type def -f # 確認をスキップして
|
|
|
253
255
|
|
|
254
256
|
## Destructive Operations / 破壊的操作の安全機能
|
|
255
257
|
|
|
256
|
-
|
|
258
|
+
### 削除コマンドはデフォルト無効
|
|
259
|
+
|
|
260
|
+
事故防止のため、削除系コマンド(`repb delete`, `defb delete`, `sys delete-label`)は**デフォルトでヘルプから非表示かつ実行不可**です。使うには明示的に有効化します:
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
i-repo config set allowDelete true # 個人設定で有効化
|
|
264
|
+
i-repo config set allowDelete true -s local # このリポジトリだけ(CI 等)
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
無効のまま実行すると案内エラー(exit 1)になります。対話モード(`i-repo`)のメニューからも非表示になります。
|
|
268
|
+
|
|
269
|
+
### 任意コマンドの無効化
|
|
270
|
+
|
|
271
|
+
`disabledCommands` で任意のコマンドを非表示・実行不可にできます(カンマ区切り、エイリアスやプラグイン名も可):
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
i-repo config set disabledCommands "raw" -s project # チーム全体で raw を封印
|
|
275
|
+
i-repo config set disabledCommands "repb delete, s3" # サブコマンドやプラグインも指定可
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
なお `config` コマンド自体は無効化できません(元に戻す手段がなくなるため)。
|
|
279
|
+
|
|
280
|
+
### 確認プロンプト
|
|
281
|
+
|
|
282
|
+
削除系コマンドは(有効化済みでも)実行前に確認プロンプトを表示します。
|
|
257
283
|
|
|
258
284
|
```bash
|
|
259
285
|
$ i-repo repb delete -d 100
|
|
@@ -320,7 +346,7 @@ i-repo rep list -e completed --update-from "$(date +%Y/%m/%d) 00:00:00" --quiet
|
|
|
320
346
|
i-repo rep list --regist-from "2025/01/01 00:00:00" --format json | jq '.[].name'
|
|
321
347
|
|
|
322
348
|
# CSV をファイルに保存
|
|
323
|
-
i-repo rep list --regist-from "2025/01/01 00:00:00" --format csv
|
|
349
|
+
i-repo rep list --regist-from "2025/01/01 00:00:00" --format csv --save reports.csv
|
|
324
350
|
```
|
|
325
351
|
|
|
326
352
|
**PowerShell (Windows)**
|
|
@@ -335,16 +361,16 @@ i-repo rep list -e completed --update-from "$today 00:00:00" --quiet `
|
|
|
335
361
|
i-repo rep list --regist-from "2025/01/01 00:00:00" --format json `
|
|
336
362
|
| ConvertFrom-Json | Select-Object -ExpandProperty name
|
|
337
363
|
|
|
338
|
-
# CSV をファイルに保存
|
|
339
|
-
|
|
340
|
-
|
|
364
|
+
# CSV をファイルに保存 (--save で UTF-8 のまま保存。`>` リダイレクトは
|
|
365
|
+
# PowerShell 5 がコンソールのコードページで再エンコードして文字化けする)
|
|
366
|
+
i-repo rep list --regist-from "2025/01/01 00:00:00" --format csv --save reports.csv
|
|
341
367
|
```
|
|
342
368
|
|
|
343
369
|
**コマンドプロンプト (Windows)**
|
|
344
370
|
|
|
345
371
|
```cmd
|
|
346
|
-
REM CSV
|
|
347
|
-
i-repo rep list --regist-from "2025/01/01 00:00:00" --format csv
|
|
372
|
+
REM CSV をファイルに保存(日付で絞ること。--save なら文字コードの心配が不要)
|
|
373
|
+
i-repo rep list --regist-from "2025/01/01 00:00:00" --format csv --save reports.csv
|
|
348
374
|
|
|
349
375
|
REM 今日の完了済みレポートを PDF ダウンロード
|
|
350
376
|
for /f %i in ('i-repo rep list -e completed --update-from "%date:~0,4%/%date:~5,2%/%date:~8,2% 00:00:00" --quiet') do i-repo rep download %i --file-type pdf
|
|
@@ -382,6 +408,7 @@ i-Reporter の操作には `i-repo` CLI を使用する。
|
|
|
382
408
|
- 一覧取得には必ず日付フィルタ(`--regist-from` / `--update-from`)を付けること
|
|
383
409
|
- 必ず `--format json` を付けて構造化データで受け取ること
|
|
384
410
|
- 削除操作には必ず `--force` を付けること(非対話環境のため)
|
|
411
|
+
- 削除操作は事前に `i-repo config set allowDelete true` での有効化が必要(既定で無効)
|
|
385
412
|
- 削除・更新前に `--format json` で対象を確認すること
|
|
386
413
|
- ファイル操作は `-o` で保存先を明示すること
|
|
387
414
|
```
|
package/dist/bin/irepo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"irepo.d.ts","sourceRoot":"","sources":["../../src/bin/irepo.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"irepo.d.ts","sourceRoot":"","sources":["../../src/bin/irepo.ts"],"names":[],"mappings":";AA6MA;;GAEG;AACH,wBAAsB,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkGxD"}
|
package/dist/bin/irepo.js
CHANGED
|
@@ -4,15 +4,18 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Main entry point. Commander-based program with subcommands.
|
|
6
6
|
*/
|
|
7
|
-
import { Command, CommanderError } from "commander";
|
|
7
|
+
import { Command, CommanderError, Option } from "commander";
|
|
8
8
|
import { realpathSync } from "node:fs";
|
|
9
9
|
import { fileURLToPath } from "node:url";
|
|
10
|
-
import { printError, t, setDefaultTimeout } from "../ui/index.js";
|
|
11
|
-
import {
|
|
10
|
+
import { printError, printWarning, t, setDefaultTimeout } from "../ui/index.js";
|
|
11
|
+
import { OUTPUT_FORMATS } from "../ui/formatters/index.js";
|
|
12
|
+
import { ExitCode, extractErrorInfo, ValidationError } from "../core/errors.js";
|
|
12
13
|
import { logCommandEnd, logCommandStart, logError, maskSecrets, setLoggedCommandLine } from "../core/logger.js";
|
|
13
|
-
import { setLocale, resolveLocale } from "../i18n/index.js";
|
|
14
|
+
import { setLocale, resolveLocale, t as tr } from "../i18n/index.js";
|
|
15
|
+
import { setOutputFile, isFileOutput, getOutputFile, wroteToFile } from "../ui/formatters/writer.js";
|
|
14
16
|
import { migrateFromConf } from "../config/migrate.js";
|
|
15
17
|
import { getConfig } from "../config/store.js";
|
|
18
|
+
import { applyCommandGate, gateReason, isPluginGated, CommandGateError, } from "../config/command-gate.js";
|
|
16
19
|
import { authCommand } from "../commands/auth.js";
|
|
17
20
|
import { configCommand } from "../commands/config.js";
|
|
18
21
|
import { definitionsCommand } from "../commands/definitions/index.js";
|
|
@@ -21,6 +24,7 @@ import { definitionBatchesCommand } from "../commands/definition-batches/index.j
|
|
|
21
24
|
import { reportBatchesCommand } from "../commands/report-batches/index.js";
|
|
22
25
|
import { systemsCommand } from "../commands/systems/index.js";
|
|
23
26
|
import { rawCommand } from "../commands/raw.js";
|
|
27
|
+
import { schemaCommand } from "../commands/schema.js";
|
|
24
28
|
import { pluginCommand } from "../commands/plugin.js";
|
|
25
29
|
import { dispatchPlugin, splitInvocation } from "../plugins/dispatch.js";
|
|
26
30
|
import { VERSION } from "../utils/version.js";
|
|
@@ -29,18 +33,27 @@ program
|
|
|
29
33
|
.name("i-repo")
|
|
30
34
|
.description("Modern CLI for ConMas i-Reporter")
|
|
31
35
|
.version(VERSION, "-v, --version")
|
|
32
|
-
.
|
|
36
|
+
// .choices() で不正値をパース時に拒否する。検証なしだと formatOutput の
|
|
37
|
+
// switch をすり抜けて「何も出力せず exit 0」になり、パイプ下流が
|
|
38
|
+
// 0件成功と誤認する (formatters/index.ts の防御と二段構え)。
|
|
39
|
+
.addOption(new Option("-f, --format <format>", "Output format").choices([...OUTPUT_FORMATS]))
|
|
33
40
|
.option("-q, --quiet", "IDs only for piping (config: quiet)")
|
|
34
41
|
.option("-e, --endpoint <url>", "API endpoint URL (overrides config)")
|
|
35
42
|
.option("-u, --user <user>", "Username (overrides config)")
|
|
36
43
|
.option("-p, --password <password>", "Password")
|
|
37
|
-
.option("--timeout <seconds>", "Request timeout in seconds (e.g. 60)")
|
|
44
|
+
.option("--timeout <seconds>", "Request timeout in seconds (e.g. 60)")
|
|
45
|
+
// 注意: "-o, --output" は複数のサブコマンドがダウンロード先として
|
|
46
|
+
// ローカル定義済み。同名フラグを program に置くと commander が値を
|
|
47
|
+
// 奪ってローカル側が壊れる (実測) ため、衝突しない --save を使う。
|
|
48
|
+
.option("--save <file>", "Write result to file as UTF-8 (avoids Windows shell redirect mojibake)");
|
|
38
49
|
// Help footer with tips for CLI beginners
|
|
39
50
|
const tips = [
|
|
40
51
|
["Ctrl+C", "Cancel any operation"],
|
|
41
52
|
["<command> --help", "Detailed usage for each command"],
|
|
42
53
|
["--format json|csv", "Machine-readable output"],
|
|
43
54
|
["--quiet", "IDs only, for piping"],
|
|
55
|
+
["--save <file>", "Save output as UTF-8 file (Windows-safe)"],
|
|
56
|
+
["schema [type]", "Output data contracts (for scripts/plugins/AI)"],
|
|
44
57
|
["plugin list", "Show installed i-repo-* plugins"],
|
|
45
58
|
];
|
|
46
59
|
const pad = Math.max(...tips.map(([k]) => k.length)) + 2;
|
|
@@ -52,11 +65,38 @@ program.addHelpText("after", "\n" +
|
|
|
52
65
|
.join("\n") +
|
|
53
66
|
"\n");
|
|
54
67
|
// Apply global options before subcommands run
|
|
55
|
-
program.hook("preAction", (thisCommand) => {
|
|
68
|
+
program.hook("preAction", (thisCommand, actionCommand) => {
|
|
69
|
+
// Gated (delete/disabled) commands stay registered but must not run.
|
|
70
|
+
// Throwing here skips the action; run() prints the guidance message.
|
|
71
|
+
const gated = gateReason(actionCommand);
|
|
72
|
+
if (gated)
|
|
73
|
+
throw new CommandGateError(gated);
|
|
56
74
|
const opts = thisCommand.opts();
|
|
75
|
+
// config 系コマンドでは config 由来の不正値を検証エラーにしない。
|
|
76
|
+
// さもないと「Fix with: i-repo config set ...」と案内した修復コマンド
|
|
77
|
+
// 自体が preAction で死ぬロックアウトになる (command-gate が config を
|
|
78
|
+
// 無効化対象から除外しているのと同じ理由)。CLI フラグの検証は別 (下記)。
|
|
79
|
+
const isConfigRepairPath = (() => {
|
|
80
|
+
let c = actionCommand;
|
|
81
|
+
while (c.parent && c.parent.parent)
|
|
82
|
+
c = c.parent;
|
|
83
|
+
return c.name() === "config";
|
|
84
|
+
})();
|
|
57
85
|
// Resolve --format: CLI flag → config defaultFormat → "table"
|
|
58
86
|
if (!opts.format) {
|
|
59
|
-
|
|
87
|
+
const configured = getConfig("defaultFormat") ?? "table";
|
|
88
|
+
// config set 経由は検証済みだが、設定ファイルの手編集で不正値が
|
|
89
|
+
// 入りうる。黙って table に落とすと ndjson を期待するパイプが
|
|
90
|
+
// 壊れるため、明示エラーにする。
|
|
91
|
+
if (!OUTPUT_FORMATS.includes(String(configured))) {
|
|
92
|
+
if (!isConfigRepairPath) {
|
|
93
|
+
throw new ValidationError(`Invalid defaultFormat in config: "${String(configured)}" (expected ${OUTPUT_FORMATS.join("|")}). Fix with: i-repo config set defaultFormat <format>`);
|
|
94
|
+
}
|
|
95
|
+
opts.format = "table"; // 修復経路は安全な既定値で進める
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
opts.format = configured;
|
|
99
|
+
}
|
|
60
100
|
thisCommand.setOptionValue("format", opts.format);
|
|
61
101
|
}
|
|
62
102
|
// Resolve --quiet: CLI flag → config quiet → false
|
|
@@ -65,10 +105,46 @@ program.hook("preAction", (thisCommand) => {
|
|
|
65
105
|
thisCommand.setOptionValue("quiet", true);
|
|
66
106
|
}
|
|
67
107
|
// Resolve --timeout: CLI flag → config timeout → 30
|
|
108
|
+
// --format と同じく不正値を黙って無視しない: `--timeout abc` や `--timeout 0`
|
|
109
|
+
// が無言でデフォルト30秒に落ちると「伸ばしたつもり」のタイムアウト調査が迷宮入りする
|
|
68
110
|
const rawTimeout = opts.timeout != null ? Number(opts.timeout) : undefined;
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
111
|
+
if (rawTimeout !== undefined && (!Number.isFinite(rawTimeout) || rawTimeout <= 0)) {
|
|
112
|
+
throw new ValidationError(`Invalid --timeout: "${String(opts.timeout)}" (expected a positive number of seconds)`);
|
|
113
|
+
}
|
|
114
|
+
const configuredTimeout = getConfig("timeout");
|
|
115
|
+
let timeout = rawTimeout ?? configuredTimeout ?? 30;
|
|
116
|
+
if (!Number.isFinite(timeout) || timeout <= 0) {
|
|
117
|
+
// config set 経由は検証済みだが手編集で不正値が入りうる
|
|
118
|
+
if (!isConfigRepairPath) {
|
|
119
|
+
throw new ValidationError(`Invalid timeout in config: "${String(configuredTimeout)}" (expected a positive number of seconds). Fix with: i-repo config set timeout <seconds>`);
|
|
120
|
+
}
|
|
121
|
+
timeout = 30; // 修復経路は安全な既定値で進める
|
|
122
|
+
}
|
|
123
|
+
setDefaultTimeout(timeout);
|
|
124
|
+
// --save: シェルのリダイレクトを経由せず UTF-8 でファイルへ書く
|
|
125
|
+
// (Windows の PowerShell 5 は `>` で CP932 再エンコードして文字化けするため)。
|
|
126
|
+
// CSV は Excel が UTF-8 を認識できるよう BOM 付き。ただし quiet は
|
|
127
|
+
// ID パイプ用の生出力なので BOM を付けない。
|
|
128
|
+
if (opts.save) {
|
|
129
|
+
setOutputFile(String(opts.save), {
|
|
130
|
+
bom: opts.format === "csv" && !opts.quiet,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
// 保存メッセージは stderr へ (データ出力と混ざらない)。
|
|
135
|
+
// handleError は throw せず exitCode を立てるため、失敗時にも
|
|
136
|
+
// postAction は到達する — 成功時のみメッセージを出す。
|
|
137
|
+
// ダウンロード系など writer を経由しないコマンドでは「保存しました」と
|
|
138
|
+
// 偽らず、ファイルが空である旨の警告を出す。
|
|
139
|
+
program.hook("postAction", () => {
|
|
140
|
+
if (!isFileOutput() || process.exitCode)
|
|
141
|
+
return;
|
|
142
|
+
if (wroteToFile()) {
|
|
143
|
+
console.error(t.muted(tr("cli.outputSaved", { path: getOutputFile() })));
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
printWarning(tr("cli.saveNoData", { path: getOutputFile() }));
|
|
147
|
+
}
|
|
72
148
|
});
|
|
73
149
|
// Register subcommands
|
|
74
150
|
program.addCommand(authCommand);
|
|
@@ -79,6 +155,7 @@ program.addCommand(definitionBatchesCommand);
|
|
|
79
155
|
program.addCommand(reportBatchesCommand);
|
|
80
156
|
program.addCommand(systemsCommand);
|
|
81
157
|
program.addCommand(rawCommand);
|
|
158
|
+
program.addCommand(schemaCommand);
|
|
82
159
|
program.addCommand(pluginCommand);
|
|
83
160
|
// Launch interactive Ink UI when run without arguments
|
|
84
161
|
program.action(async () => {
|
|
@@ -122,7 +199,23 @@ export async function run(argv) {
|
|
|
122
199
|
// Set locale from config (auto-detect from environment when unset)
|
|
123
200
|
setLocale(resolveLocale(getConfig("language")));
|
|
124
201
|
applyExitOverride(program);
|
|
202
|
+
// Hide delete commands (unless allowDelete) and disabledCommands
|
|
203
|
+
// entries from help; record them so preAction blocks execution.
|
|
204
|
+
applyCommandGate(program);
|
|
125
205
|
if (isPluginDispatch && sub !== null) {
|
|
206
|
+
// disabledCommands may name a plugin — block before dispatching.
|
|
207
|
+
if (isPluginGated(sub)) {
|
|
208
|
+
console.error(tr("gate.commandDisabled"));
|
|
209
|
+
process.exitCode = 1;
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
// プラグインは stdout を直接所有する (stdio inherit) ため --save は
|
|
213
|
+
// 適用できない。暗黙に無視せず明示エラーにする。
|
|
214
|
+
if (context.save) {
|
|
215
|
+
console.error(tr("cli.saveNotForPlugins", { name: sub }));
|
|
216
|
+
process.exitCode = 1;
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
126
219
|
const code = await dispatchPlugin(sub, userArgs.slice(subIndex + 1), context);
|
|
127
220
|
if (code === null) {
|
|
128
221
|
console.error(`Unknown command: ${sub}`);
|
|
@@ -137,6 +230,14 @@ export async function run(argv) {
|
|
|
137
230
|
await program.parseAsync(fullArgv);
|
|
138
231
|
}
|
|
139
232
|
catch (error) {
|
|
233
|
+
// Guidance, not a failure box: the command is disabled by config.
|
|
234
|
+
if (error instanceof CommandGateError) {
|
|
235
|
+
console.error(tr(error.reason === "delete"
|
|
236
|
+
? "gate.deleteDisabled"
|
|
237
|
+
: "gate.commandDisabled"));
|
|
238
|
+
process.exitCode = 1;
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
140
241
|
if (error instanceof CommanderError) {
|
|
141
242
|
if (error.code === "commander.version")
|
|
142
243
|
return;
|
|
@@ -148,13 +249,17 @@ export async function run(argv) {
|
|
|
148
249
|
` e.g. --regist-from 2024/01/01T00:00:00\n` +
|
|
149
250
|
` --regist-from "2024/01/01 00:00:00"`);
|
|
150
251
|
}
|
|
151
|
-
|
|
252
|
+
// choices()/argParser の拒否は検証エラー — exit code 契約 (11) に
|
|
253
|
+
// 揃える (アクション内の ValidationError と判別不能にしない)
|
|
254
|
+
process.exitCode =
|
|
255
|
+
error.code === "commander.invalidArgument" ? ExitCode.Validation : 1;
|
|
152
256
|
return;
|
|
153
257
|
}
|
|
154
258
|
const info = extractErrorInfo(error);
|
|
155
259
|
const logPath = logError(error, info);
|
|
156
260
|
printError(error, logPath);
|
|
157
|
-
|
|
261
|
+
// preAction の検証エラー等もここに届く — 種別別 ExitCode を尊重する
|
|
262
|
+
process.exitCode = info.exitCode || 1;
|
|
158
263
|
}
|
|
159
264
|
finally {
|
|
160
265
|
logCommandEnd(Number(process.exitCode ?? 0), Date.now() - startedAt);
|
package/dist/bin/irepo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"irepo.js","sourceRoot":"","sources":["../../src/bin/irepo.ts"],"names":[],"mappings":";AACA;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"irepo.js","sourceRoot":"","sources":["../../src/bin/irepo.ts"],"names":[],"mappings":";AACA;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAChH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,kCAAkC,CAAC;KAC/C,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,kDAAkD;IAClD,yCAAyC;IACzC,4CAA4C;KAC3C,SAAS,CACR,IAAI,MAAM,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAClF;KACA,MAAM,CAAC,aAAa,EAAE,qCAAqC,CAAC;KAC5D,MAAM,CAAC,sBAAsB,EAAE,qCAAqC,CAAC;KACrE,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,CAAC;KAC1D,MAAM,CAAC,2BAA2B,EAAE,UAAU,CAAC;KAC/C,MAAM,CAAC,qBAAqB,EAAE,sCAAsC,CAAC;IACtE,2CAA2C;IAC3C,6CAA6C;IAC7C,yCAAyC;KACxC,MAAM,CACL,eAAe,EACf,wEAAwE,CACzE,CAAC;AAEJ,0CAA0C;AAC1C,MAAM,IAAI,GAAuB;IAC/B,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAClC,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;IACvD,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;IAChD,CAAC,SAAS,EAAE,sBAAsB,CAAC;IACnC,CAAC,eAAe,EAAE,0CAA0C,CAAC;IAC7D,CAAC,eAAe,EAAE,gDAAgD,CAAC;IACnE,CAAC,aAAa,EAAE,iCAAiC,CAAC;CACnD,CAAC;AACF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;AACzD,OAAO,CAAC,WAAW,CACjB,OAAO,EACP,IAAI;IACF,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;IACd,IAAI;IACJ,IAAI;SACD,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,IAAI,CAAC,IAAI,CAAC;IACb,IAAI,CACP,CAAC;AAEF,8CAA8C;AAC9C,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE;IACvD,qEAAqE;IACrE,qEAAqE;IACrE,MAAM,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IACxC,IAAI,KAAK;QAAE,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE7C,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IAEhC,0CAA0C;IAC1C,oDAAoD;IACpD,sDAAsD;IACtD,0CAA0C;IAC1C,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE;QAC/B,IAAI,CAAC,GAAG,aAAa,CAAC;QACtB,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM;YAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QACjD,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC;IAC/B,CAAC,CAAC,EAAE,CAAC;IAEL,8DAA8D;IAC9D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC;QACzD,uCAAuC;QACvC,wCAAwC;QACxC,kBAAkB;QAClB,IAAI,CAAE,cAAoC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACxE,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,IAAI,eAAe,CACvB,qCAAqC,MAAM,CAAC,UAAU,CAAC,eAAe,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,uDAAuD,CACtJ,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,kBAAkB;QAC3C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QAC3B,CAAC;QACD,WAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IACD,mDAAmD;IACnD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IACD,oDAAoD;IACpD,6DAA6D;IAC7D,6CAA6C;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,eAAe,CACvB,uBAAuB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,2CAA2C,CACvF,CAAC;IACJ,CAAC;IACD,MAAM,iBAAiB,GAAG,SAAS,CAAC,SAAS,CAAuB,CAAC;IACrE,IAAI,OAAO,GAAG,UAAU,IAAI,iBAAiB,IAAI,EAAE,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QAC9C,mCAAmC;QACnC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,MAAM,IAAI,eAAe,CACvB,+BAA+B,MAAM,CAAC,iBAAiB,CAAC,0FAA0F,CACnJ,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,EAAE,CAAC,CAAC,kBAAkB;IAClC,CAAC;IACD,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3B,yCAAyC;IACzC,2DAA2D;IAC3D,kDAAkD;IAClD,4BAA4B;IAC5B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC/B,GAAG,EAAE,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK;SAC1C,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,mCAAmC;AACnC,+CAA+C;AAC/C,oCAAoC;AACpC,yCAAyC;AACzC,wBAAwB;AACxB,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,YAAY,EAAE,IAAI,OAAO,CAAC,QAAQ;QAAE,OAAO;IAChD,IAAI,WAAW,EAAE,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,aAAa,EAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,EAAE,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,aAAa,EAAG,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,uBAAuB;AACvB,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;AACvC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;AAC7C,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AACzC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC/B,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAElC,uDAAuD;AACvD,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;IACxB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACxD,MAAM,WAAW,EAAE,CAAC;AACtB,CAAC,CAAC,CAAC;AAEH,yEAAyE;AACzE,SAAS,iBAAiB,CAAC,GAAY;IACrC,GAAG,CAAC,YAAY,EAAE,CAAC;IACnB,GAAG,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;IAC/C,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC/B,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED,iEAAiE;AACjE,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CACvD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAe;IACvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,0EAA0E;IAC1E,yEAAyE;IACzE,MAAM,QAAQ,GAAG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IACtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC1E,MAAM,gBAAgB,GAAG,CAAC,WAAW,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAE9E,8CAA8C;IAC9C,4CAA4C;IAC5C,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC;QAC/C,oBAAoB,CAClB,UAAU,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,OAAO,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7E,CAAC;IACJ,CAAC;IACD,eAAe,EAAE,CAAC;IAElB,IAAI,CAAC;QACH,4CAA4C;QAC5C,eAAe,EAAE,CAAC;QAElB,mEAAmE;QACnE,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAEhD,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAE3B,iEAAiE;QACjE,gEAAgE;QAChE,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE1B,IAAI,gBAAgB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACrC,iEAAiE;YACjE,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,oDAAoD;YACpD,0BAA0B;YAC1B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC1D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC9E,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;gBACzC,OAAO,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAC;gBACpG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC1B,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kEAAkE;QAClE,IAAI,KAAK,YAAY,gBAAgB,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,CACX,EAAE,CACA,KAAK,CAAC,MAAM,KAAK,QAAQ;gBACvB,CAAC,CAAC,qBAAqB;gBACvB,CAAC,CAAC,sBAAsB,CAC3B,CACF,CAAC;YACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB;gBAAE,OAAO;YAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB;gBAAE,OAAO;YACrD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9C,OAAO,CAAC,KAAK,CACX,oEAAoE;oBACpE,gDAAgD;oBAChD,gDAAgD,CACjD,CAAC;YACJ,CAAC;YACD,sDAAsD;YACtD,0CAA0C;YAC1C,OAAO,CAAC,QAAQ;gBACd,KAAK,CAAC,IAAI,KAAK,2BAA2B,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3B,+CAA+C;QAC/C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;IACxC,CAAC;YAAS,CAAC;QACT,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,yEAAyE;AACzE,4DAA4D;AAC5D,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;IACnB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,mEAAmE;QACnE,6CAA6C;QAC7C,OAAO,YAAY,CAAC,KAAK,CAAC,KAAK,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AACL,IAAI,MAAM;IAAE,GAAG,EAAE,CAAC"}
|
package/dist/commands/auth.js
CHANGED
|
@@ -166,6 +166,9 @@ authCommand
|
|
|
166
166
|
const hasPassword = !!(process.env.IREPO_PASSWORD || getConfig("password"));
|
|
167
167
|
if (!endpoint && !user) {
|
|
168
168
|
printWarning(tr("auth.notConfigured"));
|
|
169
|
+
// 未設定は「確認できた失敗」— exit 0 だと CI の事前チェック
|
|
170
|
+
// (auth status || setup) が機能しない。gh auth status と同じ作法。
|
|
171
|
+
process.exitCode = 1;
|
|
169
172
|
return;
|
|
170
173
|
}
|
|
171
174
|
const endpointSrc = resolveSource("endpoint");
|
|
@@ -195,6 +198,9 @@ authCommand
|
|
|
195
198
|
if (opts.verify) {
|
|
196
199
|
if (!endpoint || !user) {
|
|
197
200
|
printWarning(tr("auth.cannotVerify"));
|
|
201
|
+
// --verify を頼まれて検証できなかったのに exit 0 を返すと、
|
|
202
|
+
// `auth status --verify && deploy` が検証ゼロで先に進む成功偽装になる
|
|
203
|
+
process.exitCode = 1;
|
|
198
204
|
return;
|
|
199
205
|
}
|
|
200
206
|
const { createClient } = await import("../config/client.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoFpC,eAAO,MAAM,aAAa,SACoB,CAAC"}
|
package/dist/commands/config.js
CHANGED
|
@@ -5,9 +5,10 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Command } from "commander";
|
|
7
7
|
import { getConfigWithSource, setConfig, resetConfig, validKeys, isValidKey, } from "../config/store.js";
|
|
8
|
+
import { parseDisabledCommands, isConfigPath } from "../config/command-gate.js";
|
|
8
9
|
import { getAllConfigPaths, } from "../config/scoped-store.js";
|
|
9
10
|
import { setLocale, t as tr } from "../i18n/index.js";
|
|
10
|
-
import { printSuccess, printError, printWarning, printDetails, printInfo, t, } from "../ui/index.js";
|
|
11
|
+
import { printSuccess, printError, printWarning, printDetails, printInfo, out, t, } from "../ui/index.js";
|
|
11
12
|
const validScopes = ["user", "project", "local"];
|
|
12
13
|
function isValidScope(s) {
|
|
13
14
|
return validScopes.includes(s);
|
|
@@ -29,13 +30,24 @@ function coerceValue(key, raw) {
|
|
|
29
30
|
}
|
|
30
31
|
return n;
|
|
31
32
|
}
|
|
32
|
-
case "quiet":
|
|
33
|
+
case "quiet":
|
|
34
|
+
case "allowDelete": {
|
|
33
35
|
if (!["true", "false"].includes(raw)) {
|
|
34
36
|
printWarning(tr("config.invalidBoolean", { key }));
|
|
35
37
|
return null;
|
|
36
38
|
}
|
|
37
39
|
return raw === "true";
|
|
38
40
|
}
|
|
41
|
+
case "disabledCommands": {
|
|
42
|
+
// The config command can never be disabled — otherwise the only
|
|
43
|
+
// way back is hand-editing the file (lockout prevention).
|
|
44
|
+
const paths = parseDisabledCommands(raw);
|
|
45
|
+
const kept = paths.filter((p) => !isConfigPath(p));
|
|
46
|
+
if (kept.length < paths.length) {
|
|
47
|
+
printWarning(tr("gate.cannotDisableConfig"));
|
|
48
|
+
}
|
|
49
|
+
return kept.join(", ");
|
|
50
|
+
}
|
|
39
51
|
case "language": {
|
|
40
52
|
if (!["en", "ja"].includes(raw)) {
|
|
41
53
|
printWarning(tr("config.invalidLanguage"));
|
|
@@ -104,7 +116,7 @@ configCommand
|
|
|
104
116
|
else {
|
|
105
117
|
const displayValue = key === "password" ? "****" : String(info.value);
|
|
106
118
|
const source = info.source ? ` ${t.dim(`[${info.source}]`)}` : "";
|
|
107
|
-
|
|
119
|
+
out(` ${t.muted(key)} = ${t.text(displayValue)}${source}`);
|
|
108
120
|
}
|
|
109
121
|
}
|
|
110
122
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAEL,mBAAmB,EACnB,SAAS,EACT,WAAW,EAEX,SAAS,EACT,UAAU,GACX,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,CAAC,GACF,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,GAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAEhE,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAgB,CAAC,CAAC;AAChD,CAAC;AAED,sDAAsD;AACtD,SAAS,WAAW,CAAC,GAAsB,EAAE,GAAW;IACtD,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,eAAe;YAClB,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtD,YAAY,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBACzC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,GAA0C,CAAC;QAEpD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,YAAY,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;gBAC1C,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/definition-batches/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/definition-batches/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,eAAO,MAAM,wBAAwB,SAEY,CAAC"}
|
|
@@ -8,6 +8,7 @@ import { readFile } from "node:fs/promises";
|
|
|
8
8
|
import { basename } from "node:path";
|
|
9
9
|
import { createClient } from "../../config/client.js";
|
|
10
10
|
import { handleError } from "../../core/errors.js";
|
|
11
|
+
import { choiceOption, fileTypeXmlCsv, parseDateTime, parseLabelId, parseNumeric, } from "../shared-options.js";
|
|
11
12
|
import { formatOutput } from "../../ui/formatters/index.js";
|
|
12
13
|
import { withSpinner, confirmDestructive, printInfo } from "../../ui/index.js";
|
|
13
14
|
import { t as tr } from "../../i18n/index.js";
|
|
@@ -18,7 +19,7 @@ export const definitionBatchesCommand = new Command("definition-batches")
|
|
|
18
19
|
definitionBatchesCommand
|
|
19
20
|
.command("update-select-items <file>")
|
|
20
21
|
.description("Update select item values from data file")
|
|
21
|
-
.
|
|
22
|
+
.addOption(fileTypeXmlCsv())
|
|
22
23
|
.action(async (file, opts, cmd) => {
|
|
23
24
|
const globalOpts = cmd.optsWithGlobals();
|
|
24
25
|
try {
|
|
@@ -47,21 +48,21 @@ definitionBatchesCommand
|
|
|
47
48
|
definitionBatchesCommand
|
|
48
49
|
.command("delete")
|
|
49
50
|
.description("Delete definitions matching conditions")
|
|
50
|
-
.option("-d, --definition <id>", "Definition ID")
|
|
51
|
-
.option("-l, --label-id <id>", "Label ID ('nolabel' for unlabeled)")
|
|
52
|
-
.
|
|
51
|
+
.option("-d, --definition <id>", "Definition ID (numeric)", parseNumeric)
|
|
52
|
+
.option("-l, --label-id <id>", "Label ID ('nolabel' for unlabeled)", parseLabelId)
|
|
53
|
+
.addOption(choiceOption("--public-status <status>", "Public status (1=test, 2=published)", ["1", "2"]))
|
|
53
54
|
.option("--definition-name <name>", "Definition name (partial match)")
|
|
54
55
|
.option("--remarks <text>", "Remarks (partial match)")
|
|
55
56
|
.option("--regist-user <id>", "Registration user ID")
|
|
56
|
-
.option("--regist-from <datetime>", "Registration date from (e.g. 2024/01/01T00:00:00)")
|
|
57
|
-
.option("--regist-to <datetime>", "Registration date to (e.g. 2024/12/31T23:59:59)")
|
|
57
|
+
.option("--regist-from <datetime>", "Registration date from (e.g. 2024/01/01T00:00:00)", parseDateTime)
|
|
58
|
+
.option("--regist-to <datetime>", "Registration date to (e.g. 2024/12/31T23:59:59)", parseDateTime)
|
|
58
59
|
.option("--update-user <id>", "Update user ID")
|
|
59
|
-
.option("--update-from <datetime>", "Update date from (e.g. 2024/01/01T00:00:00)")
|
|
60
|
-
.option("--update-to <datetime>", "Update date to (e.g. 2024/12/31T23:59:59)")
|
|
61
|
-
.
|
|
62
|
-
.
|
|
63
|
-
.
|
|
64
|
-
.option("--execute-count <n>", "Process count (transaction-mode=1)")
|
|
60
|
+
.option("--update-from <datetime>", "Update date from (e.g. 2024/01/01T00:00:00)", parseDateTime)
|
|
61
|
+
.option("--update-to <datetime>", "Update date to (e.g. 2024/12/31T23:59:59)", parseDateTime)
|
|
62
|
+
.addOption(choiceOption("--deleted <flag>", "Target deleted", ["no", "yes", "0", "1"]))
|
|
63
|
+
.addOption(choiceOption("--mode <mode>", "Delete mode", ["logical", "physical", "0", "1"]))
|
|
64
|
+
.addOption(choiceOption("--transaction-mode <mode>", "Transaction mode", ["batch", "per-definition", "0", "1"]))
|
|
65
|
+
.option("--execute-count <n>", "Process count (transaction-mode=1)", parseNumeric)
|
|
65
66
|
.option("-f, --force", "Skip confirmation prompt")
|
|
66
67
|
.action(async (opts, cmd) => {
|
|
67
68
|
const globalOpts = cmd.optsWithGlobals();
|
|
@@ -80,11 +81,11 @@ definitionBatchesCommand
|
|
|
80
81
|
definitionName: opts.definitionName,
|
|
81
82
|
remarks: opts.remarks,
|
|
82
83
|
registUser: opts.registUser,
|
|
83
|
-
registTimeFrom:
|
|
84
|
-
registTimeTo:
|
|
84
|
+
registTimeFrom: opts.registFrom,
|
|
85
|
+
registTimeTo: opts.registTo,
|
|
85
86
|
updateUser: opts.updateUser,
|
|
86
|
-
updateTimeFrom:
|
|
87
|
-
updateTimeTo:
|
|
87
|
+
updateTimeFrom: opts.updateFrom,
|
|
88
|
+
updateTimeTo: opts.updateTo,
|
|
88
89
|
deleted: resolveMap(opts.deleted, flagMap),
|
|
89
90
|
mode: resolveMap(opts.mode, modeMap),
|
|
90
91
|
transactionMode: resolveMap(opts.transactionMode, txModeMap),
|
|
@@ -100,14 +101,12 @@ definitionBatchesCommand
|
|
|
100
101
|
handleError(error, { format: globalOpts.format });
|
|
101
102
|
}
|
|
102
103
|
});
|
|
103
|
-
/** Normalize datetime: accept T separator (CLI-friendly) and convert to space (API format) */
|
|
104
|
-
function normDate(v) {
|
|
105
|
-
return v ? String(v).replace("T", " ") : undefined;
|
|
106
|
-
}
|
|
107
104
|
const modeMap = { logical: "0", physical: "1", "0": "0", "1": "1" };
|
|
108
105
|
const txModeMap = { batch: "0", "per-definition": "1", "0": "0", "1": "1" };
|
|
109
106
|
const flagMap = { no: "0", yes: "1", "0": "0", "1": "1" };
|
|
107
|
+
// 値は choices() がパース時に保証する — map に無い値はここに到達しない
|
|
108
|
+
// (以前は未知値を `?? v` でそのままサーバへ素通ししていた)
|
|
110
109
|
function resolveMap(v, map) {
|
|
111
|
-
return v ?
|
|
110
|
+
return v ? map[v.toLowerCase()] : undefined;
|
|
112
111
|
}
|
|
113
112
|
//# sourceMappingURL=index.js.map
|