@takagaki/cortex-decisions-viewer 0.4.85 → 0.6.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/dist/build.js +29 -0
- package/dist/cli.js +1 -1
- package/dist/render.js +1180 -406
- package/package.json +3 -2
package/dist/build.js
CHANGED
|
@@ -49,6 +49,20 @@ const repo_1 = require("./repo");
|
|
|
49
49
|
// (引数で引き回すと呼び出し側の改修が広範囲になる)。build() の冒頭で1回だけ解決する。
|
|
50
50
|
let LATEST_PATHS = new Set();
|
|
51
51
|
const render_1 = require("./render");
|
|
52
|
+
/**
|
|
53
|
+
* この画面を作ったパッケージの版。**package.json を唯一の出どころにする。**
|
|
54
|
+
* 別に持つと、公開した版と画面に出る版がずれる(しかも気づけない)。
|
|
55
|
+
*/
|
|
56
|
+
const PKG_VERSION = (() => {
|
|
57
|
+
try {
|
|
58
|
+
// dist/ から見て2つ上(パッケージのルート)
|
|
59
|
+
return require("../package.json").version;
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
// **落とさない。** 版が引けないだけでビルドを止めない
|
|
63
|
+
return "不明";
|
|
64
|
+
}
|
|
65
|
+
})();
|
|
52
66
|
const DEFAULT_EXCLUDE = ["README.md", "template.md"];
|
|
53
67
|
/** frontmatterのrelationsを安全に正規化する */
|
|
54
68
|
function toRelations(value) {
|
|
@@ -152,6 +166,9 @@ async function readFleetSources(repoRoot) {
|
|
|
152
166
|
// (このマッピングは素通しではなく明示の許可リスト)。落とすと、同じIDの
|
|
153
167
|
// チャンネルを2つのワークスペースに持つ案件で「登録を解除」が別の行を消す
|
|
154
168
|
workspace: s.workspace != null ? String(s.workspace) : undefined,
|
|
169
|
+
// **厳密比較。** サーバは true しか書かないので、
|
|
170
|
+
// 他の値("true" や 1)を印として扱わない
|
|
171
|
+
orgUnknown: s.orgUnknown === true ? true : undefined,
|
|
155
172
|
}))
|
|
156
173
|
: undefined;
|
|
157
174
|
// 接続済み Slack ワークスペース(#104)。**空配列と undefined を区別して通す**——
|
|
@@ -206,6 +223,16 @@ async function readFleetSources(repoRoot) {
|
|
|
206
223
|
// 設定を変えた直後だけ数字が出て、静的ビルドのページでは undefined になる
|
|
207
224
|
unchecked: typeof o.unchecked === "number" ? o.unchecked : 0,
|
|
208
225
|
source: String(o.source ?? ""),
|
|
226
|
+
// 🔴 **`Boolean(...)` にしないこと。** ここに来る値の元は engine 側の
|
|
227
|
+
// **インストールトークンそのもの**で、`Boolean("ghs_…")` は `true` になるので
|
|
228
|
+
// 型は守れても「素通ししていないこと」の保証にならない。**`=== true` の厳密比較**なら、
|
|
229
|
+
// 万一トークンが載ってきても `false` に落ちるだけで顧客の画面には出ない。
|
|
230
|
+
// 上の5フィールドも同じ理由で全部 `String(...)` / `typeof === "number"` で固定している。
|
|
231
|
+
//
|
|
232
|
+
// **`true` でないものを一律 `false` にしない。** `null`(その夜は確かめられなかった)を
|
|
233
|
+
// `false` に丸めると、App が入っている全組織に「入れてください」と誤案内する。
|
|
234
|
+
// 値が無い(この項目を知らない古い生成物)ときも `null` 側に倒す
|
|
235
|
+
appInstalled: o.appInstalled == null ? null : o.appInstalled === true,
|
|
209
236
|
}))
|
|
210
237
|
.filter((o) => o.owner !== "")
|
|
211
238
|
: undefined;
|
|
@@ -1255,6 +1282,8 @@ async function build(opts) {
|
|
|
1255
1282
|
const site = {
|
|
1256
1283
|
title: opts.title,
|
|
1257
1284
|
generatedAt: opts.generatedAt,
|
|
1285
|
+
// **package.json から読む。** 手で書くと、上げ忘れて嘘の版が出る
|
|
1286
|
+
viewerVersion: PKG_VERSION,
|
|
1258
1287
|
repoBaseUrl: repo.baseUrl,
|
|
1259
1288
|
branch: repo.branch,
|
|
1260
1289
|
decisions,
|
package/dist/cli.js
CHANGED
|
@@ -19,7 +19,7 @@ program
|
|
|
19
19
|
.option("--intake-url <url>", "投入フォームのLambda URL(環境変数 INTAKE_URL でも可)")
|
|
20
20
|
.option("--intake-token <token>", "投入フォームの共有秘密トークン(環境変数 INTAKE_TOKEN でも可)")
|
|
21
21
|
.option("--project-key <key>", "案件キー(投入フォームのルーティングキー)")
|
|
22
|
-
.option("--secret-kinds <kinds>", "鍵の入力欄を出す連携(カンマ区切り。例: figma,
|
|
22
|
+
.option("--secret-kinds <kinds>", "鍵の入力欄を出す連携(カンマ区切り。例: figma,backlog)")
|
|
23
23
|
.option("--webhook-url <url>", "Backlog Webhook 受信のLambda URL(環境変数 WEBHOOK_URL でも可)")
|
|
24
24
|
.option("--webhook-token <token>", "リアルタイム同期の**案件別**トークン(環境変数 WEBHOOK_TOKEN でも可。艦隊共通トークンを渡さないこと)")
|
|
25
25
|
.action(async (dir, opts) => {
|