difit 4.0.1 → 4.0.2
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.ja.md +1 -1
- package/README.ko.md +1 -1
- package/README.md +1 -1
- package/README.zh.md +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.test.js +33 -47
- package/dist/cli/tuiDeprecation.d.ts +3 -0
- package/dist/cli/tuiDeprecation.js +16 -0
- package/dist/cli/tuiDeprecation.test.d.ts +1 -0
- package/dist/cli/tuiDeprecation.test.js +16 -0
- package/dist/cli/utils.d.ts +1 -0
- package/dist/cli/utils.js +17 -0
- package/dist/client/assets/_basePickBy-hOr-yGsE.js +1 -0
- package/dist/client/assets/_baseUniq-b7bzdUSn.js +1 -0
- package/dist/client/assets/arc-D65wG9gm.js +1 -0
- package/dist/client/assets/architecture-PBZL5I3N-DFdrPtRG.js +1 -0
- package/dist/client/assets/architectureDiagram-2XIMDMQ5-CXJTJFYJ.js +36 -0
- package/dist/client/assets/array-DOVTz2Mq.js +1 -0
- package/dist/client/assets/blockDiagram-WCTKOSBZ-B60owdAn.js +132 -0
- package/dist/client/assets/c4Diagram-IC4MRINW-4tg2D_Vt.js +10 -0
- package/dist/client/assets/channel-DogeU0Wo.js +1 -0
- package/dist/client/assets/chunk-4BX2VUAB-CW45MZFx.js +1 -0
- package/dist/client/assets/chunk-55IACEB6-Busc3sfI.js +1 -0
- package/dist/client/assets/chunk-7E7YKBS2-BVR-8Pma.js +1 -0
- package/dist/client/assets/chunk-7R4GIKGN-DneC7PwP.js +80 -0
- package/dist/client/assets/chunk-C72U2L5F-CJr98gus.js +1 -0
- package/dist/client/assets/chunk-EGIJ26TM-iD_CSqpR.js +1 -0
- package/dist/client/assets/{chunk-FMBD7UC4-BSa8SHgd.js → chunk-FMBD7UC4-BSsJVlRg.js} +2 -2
- package/dist/client/assets/chunk-GEFDOKGD-eDUrsRgt.js +2 -0
- package/dist/client/assets/chunk-GLR3WWYH-NUOKNaxd.js +2 -0
- package/dist/client/assets/chunk-HHEYEP7N-DhuxpkmW.js +1 -0
- package/dist/client/assets/chunk-JSJVCQXG-UCJub_Eo.js +1 -0
- package/dist/client/assets/chunk-KX2RTZJC-DrhxxMOx.js +1 -0
- package/dist/client/assets/chunk-KYZI473N-Brv52ZeO.js +53 -0
- package/dist/client/assets/chunk-L3YUKLVL-BkBigLhQ.js +1 -0
- package/dist/client/assets/chunk-MX3YWQON-DHRoNbgW.js +1 -0
- package/dist/client/assets/chunk-NQ4KR5QH-BZ86r2qK.js +220 -0
- package/dist/client/assets/chunk-O4XLMI2P-Sr33dk8c.js +7 -0
- package/dist/client/assets/chunk-OZEHJAEY-3F2ff7sj.js +1 -0
- package/dist/client/assets/chunk-PQ6SQG4A-C9acTu_E.js +1 -0
- package/dist/client/assets/chunk-PU5JKC2W-PQmA4K_y.js +70 -0
- package/dist/client/assets/chunk-QZHKN3VN-DMRW-mur.js +1 -0
- package/dist/client/assets/chunk-R5LLSJPH-ChexuO_S.js +1 -0
- package/dist/client/assets/chunk-WL4C6EOR-oxNV_hhM.js +189 -0
- package/dist/client/assets/chunk-XIRO2GV7-C9gOnffv.js +1 -0
- package/dist/client/assets/chunk-XPW4576I-CcqR6BsE.js +32 -0
- package/dist/client/assets/chunk-XZSTWKYB-C5JJ0TZR.js +94 -0
- package/dist/client/assets/chunk-YBOYWFTD-B6kAkNgH.js +1 -0
- package/dist/client/assets/classDiagram-VBA2DB6C-DlDUg6JI.js +1 -0
- package/dist/client/assets/classDiagram-v2-RAHNMMFH-BxzJfV1S.js +1 -0
- package/dist/client/assets/clone-DuY6BQEm.js +1 -0
- package/dist/client/assets/cose-bilkent-S5V4N54A-hlDud6Ym.js +1 -0
- package/dist/client/assets/cytoscape.esm-B3gzQ1NF.js +321 -0
- package/dist/client/assets/dagre-BwDYerGQ.js +1 -0
- package/dist/client/assets/dagre-KLK3FWXG-KnkMUlUE.js +4 -0
- package/dist/client/assets/defaultLocale-Ck2Xxk-C.js +1 -0
- package/dist/client/assets/diagram-E7M64L7V-DcTCIFUG.js +24 -0
- package/dist/client/assets/diagram-IFDJBPK2-COcDQunj.js +43 -0
- package/dist/client/assets/diagram-P4PSJMXO-DmgET9pD.js +24 -0
- package/dist/client/assets/dist-v55TM3-O.js +1 -0
- package/dist/client/assets/erDiagram-INFDFZHY-ByL02DP-.js +70 -0
- package/dist/client/assets/flowDiagram-PKNHOUZH-CW-lseYE.js +162 -0
- package/dist/client/assets/ganttDiagram-A5KZAMGK-BxLjKRld.js +292 -0
- package/dist/client/assets/gitGraph-HDMCJU4V-CjAGJiCH.js +1 -0
- package/dist/client/assets/gitGraphDiagram-K3NZZRJ6-DLEDjokx.js +65 -0
- package/dist/client/assets/graphlib-WkJoBgka.js +1 -0
- package/dist/client/assets/index-CizZxdOT.js +79 -0
- package/dist/client/assets/index-Cn4K2uvR.css +2 -0
- package/dist/client/assets/info-3K5VOQVL-CB6KpH1K.js +1 -0
- package/dist/client/assets/infoDiagram-LFFYTUFH-CnmYkyCb.js +2 -0
- package/dist/client/assets/init-Bft5Ffpj.js +1 -0
- package/dist/client/assets/isArrayLikeObject-icl0H0jo.js +1 -0
- package/dist/client/assets/isEmpty-Du8sNmkE.js +1 -0
- package/dist/client/assets/ishikawaDiagram-PHBUUO56-zycn1mVK.js +70 -0
- package/dist/client/assets/journeyDiagram-4ABVD52K-aRoH36nV.js +139 -0
- package/dist/client/assets/kanban-definition-K7BYSVSG-BGtGv5yb.js +89 -0
- package/dist/client/assets/katex-BJrMXEjr.js +261 -0
- package/dist/client/assets/line-Cm3ZuldI.js +1 -0
- package/dist/client/assets/linear-HJOLPv7E.js +1 -0
- package/dist/client/assets/math-CNhlSIO3.js +1 -0
- package/dist/client/assets/mermaid-parser.core-BvMqHn4b.js +4 -0
- package/dist/client/assets/mermaid.core-C4SvQTx9.js +11 -0
- package/dist/client/assets/mindmap-definition-YRQLILUH-B8jMe7ir.js +68 -0
- package/dist/client/assets/ordinal-DIg8h6NI.js +1 -0
- package/dist/client/assets/packet-RMMSAZCW-CzbC-tXD.js +1 -0
- package/dist/client/assets/path-DfRbCp9y.js +1 -0
- package/dist/client/assets/pie-UPGHQEXC-CmhYIo8p.js +1 -0
- package/dist/client/assets/pieDiagram-SKSYHLDU-CGWbtgxq.js +30 -0
- package/dist/client/assets/{prism-bash-DTkDXsAh.js → prism-bash-6uMTC0Q2.js} +1 -1
- package/dist/client/assets/prism-csharp-Dkc2OSmh.js +1 -0
- package/dist/client/assets/prism-dart-iZy_wlz-.js +1 -0
- package/dist/client/assets/prism-elixir-BIzI9WJK.js +1 -0
- package/dist/client/assets/prism-hcl-Bx2FGBKG.js +1 -0
- package/dist/client/assets/prism-java-DBXf7fH0.js +1 -0
- package/dist/client/assets/prism-markup-templating-DS0ksKLt.js +1 -0
- package/dist/client/assets/prism-perl-BlhPiMfT.js +1 -0
- package/dist/client/assets/prism-php-DVtOAJsW.js +1 -0
- package/dist/client/assets/{prism-protobuf-DiQ_z8B5.js → prism-protobuf-BUsrNVvv.js} +1 -1
- package/dist/client/assets/prism-ruby-Saes64I6.js +1 -0
- package/dist/client/assets/{prism-scala-BjNo2HkN.js → prism-scala-ANOINMog.js} +1 -1
- package/dist/client/assets/prism-solidity-C5Mx5y66.js +1 -0
- package/dist/client/assets/{prism-sql-AgAyy5H_.js → prism-sql-D5pwK0Dp.js} +1 -1
- package/dist/client/assets/{prism-vim-uciLQ2PQ.js → prism-vim-BSZSu-gX.js} +1 -1
- package/dist/client/assets/quadrantDiagram-337W2JSQ-CQ1QKsru.js +7 -0
- package/dist/client/assets/radar-KQ55EAFF-BCa9lsCc.js +1 -0
- package/dist/client/assets/requirementDiagram-Z7DCOOCP-Co1LyL5T.js +73 -0
- package/dist/client/assets/rough.esm-KjoEK0it.js +1 -0
- package/dist/client/assets/sankeyDiagram-WA2Y5GQK-BQVbT6bS.js +10 -0
- package/dist/client/assets/sequenceDiagram-2WXFIKYE-DGIEkdPm.js +145 -0
- package/dist/client/assets/src-DsmFf7gO.js +1 -0
- package/dist/client/assets/stateDiagram-RAJIS63D-DgjKbXnG.js +1 -0
- package/dist/client/assets/stateDiagram-v2-FVOUBMTO-gPrpjL74.js +1 -0
- package/dist/client/assets/timeline-definition-YZTLITO2-Dz2dVWjY.js +61 -0
- package/dist/client/assets/treemap-KZPCXAKY-DXiPfAB6.js +1 -0
- package/dist/client/assets/vennDiagram-LZ73GAT5-IIH5S1B6.js +34 -0
- package/dist/client/assets/xychartDiagram-JWTSCODW-DeYZhM2j.js +7 -0
- package/dist/client/index.html +2 -2
- package/dist/utils/commentImports.js +3 -2
- package/dist/utils/createId.d.ts +1 -0
- package/dist/utils/createId.js +5 -0
- package/dist/utils/createId.test.d.ts +1 -0
- package/dist/utils/createId.test.js +48 -0
- package/package.json +5 -5
- package/dist/client/assets/_basePickBy-ChXFkTMC.js +0 -1
- package/dist/client/assets/_baseUniq-Mj_sFFQW.js +0 -1
- package/dist/client/assets/arc-BMA6S9F1.js +0 -1
- package/dist/client/assets/architectureDiagram-2XIMDMQ5-0uiM_v5K.js +0 -36
- package/dist/client/assets/blockDiagram-WCTKOSBZ-CM7ZLL6F.js +0 -132
- package/dist/client/assets/c4Diagram-IC4MRINW-DKtCnVwn.js +0 -10
- package/dist/client/assets/channel-D057yzDp.js +0 -1
- package/dist/client/assets/chunk-4BX2VUAB-Wsl8DxEB.js +0 -1
- package/dist/client/assets/chunk-55IACEB6-CHm9X5i7.js +0 -1
- package/dist/client/assets/chunk-JSJVCQXG-Cpk76oJ3.js +0 -1
- package/dist/client/assets/chunk-KX2RTZJC-D8YvfZVu.js +0 -1
- package/dist/client/assets/chunk-NQ4KR5QH-BogviJOv.js +0 -220
- package/dist/client/assets/chunk-QZHKN3VN-DwLJYu26.js +0 -1
- package/dist/client/assets/chunk-WL4C6EOR-BFDpGxW2.js +0 -189
- package/dist/client/assets/classDiagram-VBA2DB6C---D4iOts.js +0 -1
- package/dist/client/assets/classDiagram-v2-RAHNMMFH---D4iOts.js +0 -1
- package/dist/client/assets/clone-xSR3otEf.js +0 -1
- package/dist/client/assets/cose-bilkent-S5V4N54A-oEosZ_5y.js +0 -1
- package/dist/client/assets/cytoscape.esm-5J0xJHOV.js +0 -321
- package/dist/client/assets/dagre-KLK3FWXG-gFld4u1H.js +0 -4
- package/dist/client/assets/defaultLocale-DX6XiGOO.js +0 -1
- package/dist/client/assets/diagram-E7M64L7V-gJq3kSrf.js +0 -24
- package/dist/client/assets/diagram-IFDJBPK2-BsUm_q22.js +0 -43
- package/dist/client/assets/diagram-P4PSJMXO-juB-sfcR.js +0 -24
- package/dist/client/assets/erDiagram-INFDFZHY-Dn77qXAt.js +0 -70
- package/dist/client/assets/flowDiagram-PKNHOUZH-DtmvDYdN.js +0 -162
- package/dist/client/assets/ganttDiagram-A5KZAMGK-BlDaKLbQ.js +0 -292
- package/dist/client/assets/gitGraphDiagram-K3NZZRJ6-DeAAeuMS.js +0 -65
- package/dist/client/assets/graph-NX9gBP47.js +0 -1
- package/dist/client/assets/index-VxkpzDXr.css +0 -1
- package/dist/client/assets/index-kJdw4DY-.js +0 -98
- package/dist/client/assets/infoDiagram-LFFYTUFH-CAaX023c.js +0 -2
- package/dist/client/assets/init-Gi6I4Gst.js +0 -1
- package/dist/client/assets/ishikawaDiagram-PHBUUO56-CmiTQStv.js +0 -70
- package/dist/client/assets/journeyDiagram-4ABVD52K-B0SHC7mz.js +0 -139
- package/dist/client/assets/kanban-definition-K7BYSVSG-IfRdhzz7.js +0 -89
- package/dist/client/assets/katex-C-M49wc6.js +0 -261
- package/dist/client/assets/layout-l3OdNQhJ.js +0 -1
- package/dist/client/assets/linear-CQ0hx5Qs.js +0 -1
- package/dist/client/assets/mermaid.core-DqlPTabt.js +0 -249
- package/dist/client/assets/mindmap-definition-YRQLILUH-DIgSmG_f.js +0 -68
- package/dist/client/assets/ordinal-Cboi1Yqb.js +0 -1
- package/dist/client/assets/pieDiagram-SKSYHLDU-FzM5qoIB.js +0 -30
- package/dist/client/assets/prism-csharp-DCfUUOUs.js +0 -1
- package/dist/client/assets/prism-dart-MjriiaMt.js +0 -1
- package/dist/client/assets/prism-elixir-riuOL1mm.js +0 -1
- package/dist/client/assets/prism-hcl-CizuX1s4.js +0 -1
- package/dist/client/assets/prism-java-DYCKrDUh.js +0 -1
- package/dist/client/assets/prism-markup-templating-Ct1xsyfA.js +0 -1
- package/dist/client/assets/prism-perl-BJwBYR3Y.js +0 -1
- package/dist/client/assets/prism-php-BMhFuA7y.js +0 -1
- package/dist/client/assets/prism-ruby-Bcu0cDEh.js +0 -1
- package/dist/client/assets/prism-solidity-DDDs3w-w.js +0 -1
- package/dist/client/assets/quadrantDiagram-337W2JSQ-BBrApyD7.js +0 -7
- package/dist/client/assets/requirementDiagram-Z7DCOOCP-CLXiwUaA.js +0 -73
- package/dist/client/assets/sankeyDiagram-WA2Y5GQK-9Y3Ly5qe.js +0 -10
- package/dist/client/assets/sequenceDiagram-2WXFIKYE-DEpX1BA5.js +0 -145
- package/dist/client/assets/stateDiagram-RAJIS63D-Ck3ullwA.js +0 -1
- package/dist/client/assets/stateDiagram-v2-FVOUBMTO-X6UiDsar.js +0 -1
- package/dist/client/assets/timeline-definition-YZTLITO2-CMezf3XV.js +0 -61
- package/dist/client/assets/treemap-KZPCXAKY-DqrcV0gQ.js +0 -162
- package/dist/client/assets/vennDiagram-LZ73GAT5-eQg945Fz.js +0 -34
- package/dist/client/assets/xychartDiagram-JWTSCODW-_hqdXeX1.js +0 -7
package/README.ja.md
CHANGED
|
@@ -146,7 +146,7 @@ git diff --cached | difit -
|
|
|
146
146
|
| `--host` | 127.0.0.1 | サーバーをバインドするホストアドレス(外部からアクセスしたい場合は0.0.0.0を指定) |
|
|
147
147
|
| `--no-open` | false | ブラウザを自動的に開かない |
|
|
148
148
|
| `--mode` | split | 表示モード。`unified`または`split` |
|
|
149
|
-
| `--tui`
|
|
149
|
+
| `--tui` (deprecated) | false | WebUIの代わりにターミナルUIを使用 |
|
|
150
150
|
| `--clean` | false | 起動時に既存コメントと閲覧済みファイルをすべてクリア |
|
|
151
151
|
| `--include-untracked` | false | diffにuntrackedファイルを自動的に含める(`.`または`working`のみ有効) |
|
|
152
152
|
| `--keep-alive` | false | ブラウザ切断後もサーバーを終了せず起動したままにする(Ctrl+Cで手動停止) |
|
package/README.ko.md
CHANGED
|
@@ -146,7 +146,7 @@ git diff --cached | difit -
|
|
|
146
146
|
| `--host` | 127.0.0.1 | 서버를 바인딩할 호스트 주소 (외부 액세스는 0.0.0.0 사용) |
|
|
147
147
|
| `--no-open` | false | 브라우저를 자동으로 열지 않음 |
|
|
148
148
|
| `--mode` | split | 표시 모드: `unified` 또는 `split` |
|
|
149
|
-
| `--tui`
|
|
149
|
+
| `--tui` (deprecated) | false | WebUI 대신 터미널 UI 모드 사용 |
|
|
150
150
|
| `--clean` | false | 시작 시 모든 기존 코멘트와 열람된 파일 표시 초기화 |
|
|
151
151
|
| `--include-untracked` | false | diff에 untracked 파일 자동 포함 (`.` 또는 `working`에서만 유효) |
|
|
152
152
|
| `--keep-alive` | false | 브라우저 연결이 끊겨도 서버 유지 (Ctrl+C로 수동 종료) |
|
package/README.md
CHANGED
|
@@ -146,7 +146,7 @@ Stdin mode is selected with intent-first rules:
|
|
|
146
146
|
| `--host` | 127.0.0.1 | Host address to bind server to (use 0.0.0.0 for external access) |
|
|
147
147
|
| `--no-open` | false | Don't automatically open browser |
|
|
148
148
|
| `--mode` | split | Display mode: `unified` or `split` |
|
|
149
|
-
| `--tui`
|
|
149
|
+
| `--tui` (deprecated) | false | Use terminal UI mode instead of WebUI |
|
|
150
150
|
| `--clean` | false | Clear all existing comments and viewed files on startup |
|
|
151
151
|
| `--include-untracked` | false | Automatically include untracked files in diff (only with `.` or `working`) |
|
|
152
152
|
| `--keep-alive` | false | Keep server running after browser disconnects (stop manually with Ctrl+C) |
|
package/README.zh.md
CHANGED
|
@@ -146,7 +146,7 @@ git diff --cached | difit -
|
|
|
146
146
|
| `--host` | 127.0.0.1 | 绑定服务器的主机地址(使用 0.0.0.0 进行外部访问) |
|
|
147
147
|
| `--no-open` | false | 不自动打开浏览器 |
|
|
148
148
|
| `--mode` | split | 显示模式:`unified` 或 `split` |
|
|
149
|
-
| `--tui`
|
|
149
|
+
| `--tui` (deprecated) | false | 使用终端 UI 模式而不是 WebUI |
|
|
150
150
|
| `--clean` | false | 启动时清除所有现有评论和已查看的文件 |
|
|
151
151
|
| `--include-untracked` | false | 自动将 untracked 文件包含在 diff 中(仅在 `.` 或 `working` 时有效) |
|
|
152
152
|
| `--keep-alive` | false | 浏览器断开后保持服务器运行(使用 Ctrl+C 手动停止) |
|
package/dist/cli/index.js
CHANGED
|
@@ -8,6 +8,7 @@ import { DiffMode } from '../types/watch.js';
|
|
|
8
8
|
import { DEFAULT_DIFF_VIEW_MODE, normalizeDiffViewMode } from '../utils/diffMode.js';
|
|
9
9
|
import { shouldReadStdin, findUntrackedFiles, markFilesIntentToAdd, promptUser, parseCommentOptions, validateDiffArguments, getGitRoot, } from './utils.js';
|
|
10
10
|
import { getPrPatch, getPrCommentImports } from './github.js';
|
|
11
|
+
import { warnAboutTuiDeprecation } from './tuiDeprecation.js';
|
|
11
12
|
function isSpecialArg(arg) {
|
|
12
13
|
return arg === 'working' || arg === 'staged' || arg === '.';
|
|
13
14
|
}
|
|
@@ -180,6 +181,7 @@ program
|
|
|
180
181
|
console.error('Try running the command directly in your terminal without piping.');
|
|
181
182
|
process.exit(1);
|
|
182
183
|
}
|
|
184
|
+
await warnAboutTuiDeprecation();
|
|
183
185
|
// Dynamic import for TUI mode
|
|
184
186
|
const { render } = await import('ink');
|
|
185
187
|
const { default: TuiApp } = await import('../tui/App.js');
|
package/dist/cli/index.test.js
CHANGED
|
@@ -1102,16 +1102,16 @@ describe('CLI index.ts', () => {
|
|
|
1102
1102
|
describe('TUI mode', () => {
|
|
1103
1103
|
let mockRender;
|
|
1104
1104
|
let mockTuiApp;
|
|
1105
|
-
|
|
1106
|
-
|
|
1105
|
+
const expectRenderedTuiProps = (props) => {
|
|
1106
|
+
expect(mockRender).toHaveBeenCalledTimes(1);
|
|
1107
|
+
expect(mockRender).toHaveBeenCalledWith({
|
|
1108
|
+
component: mockTuiApp,
|
|
1109
|
+
props,
|
|
1110
|
+
});
|
|
1111
|
+
};
|
|
1112
|
+
beforeEach(() => {
|
|
1107
1113
|
mockRender = vi.fn();
|
|
1108
1114
|
mockTuiApp = vi.fn();
|
|
1109
|
-
vi.doMock('ink', async () => ({
|
|
1110
|
-
render: mockRender,
|
|
1111
|
-
}));
|
|
1112
|
-
vi.doMock('../tui/App.js', async () => ({
|
|
1113
|
-
default: mockTuiApp,
|
|
1114
|
-
}));
|
|
1115
1115
|
// Mock React.createElement for testing
|
|
1116
1116
|
vi.spyOn(React, 'createElement').mockImplementation((component, props) => ({ component, props }));
|
|
1117
1117
|
// Mock process.stdin.isTTY
|
|
@@ -1121,8 +1121,6 @@ describe('CLI index.ts', () => {
|
|
|
1121
1121
|
});
|
|
1122
1122
|
});
|
|
1123
1123
|
afterEach(() => {
|
|
1124
|
-
vi.doUnmock('ink');
|
|
1125
|
-
vi.doUnmock('../tui/App.js');
|
|
1126
1124
|
vi.restoreAllMocks();
|
|
1127
1125
|
});
|
|
1128
1126
|
it('passes arguments to TUI app correctly', async () => {
|
|
@@ -1143,8 +1141,8 @@ describe('CLI index.ts', () => {
|
|
|
1143
1141
|
console.error('Error: TUI mode requires an interactive terminal (TTY).');
|
|
1144
1142
|
process.exit(1);
|
|
1145
1143
|
}
|
|
1146
|
-
const
|
|
1147
|
-
const
|
|
1144
|
+
const render = mockRender;
|
|
1145
|
+
const TuiApp = mockTuiApp;
|
|
1148
1146
|
render(React.createElement(TuiApp, {
|
|
1149
1147
|
targetCommitish: commitish,
|
|
1150
1148
|
baseCommitish: commitish + '^',
|
|
@@ -1153,13 +1151,10 @@ describe('CLI index.ts', () => {
|
|
|
1153
1151
|
}
|
|
1154
1152
|
});
|
|
1155
1153
|
await program.parseAsync(['main', '--tui'], { from: 'user' });
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
baseCommitish: 'main^',
|
|
1161
|
-
mode: 'split',
|
|
1162
|
-
},
|
|
1154
|
+
expectRenderedTuiProps({
|
|
1155
|
+
targetCommitish: 'main',
|
|
1156
|
+
baseCommitish: 'main^',
|
|
1157
|
+
mode: 'split',
|
|
1163
1158
|
});
|
|
1164
1159
|
});
|
|
1165
1160
|
it('passes context option to TUI app', async () => {
|
|
@@ -1177,8 +1172,8 @@ describe('CLI index.ts', () => {
|
|
|
1177
1172
|
.option('--pr <url>', 'pr')
|
|
1178
1173
|
.action(async (commitish, _compareWith, options) => {
|
|
1179
1174
|
if (options.tui) {
|
|
1180
|
-
const
|
|
1181
|
-
const
|
|
1175
|
+
const render = mockRender;
|
|
1176
|
+
const TuiApp = mockTuiApp;
|
|
1182
1177
|
render(React.createElement(TuiApp, {
|
|
1183
1178
|
targetCommitish: commitish,
|
|
1184
1179
|
baseCommitish: commitish + '^',
|
|
@@ -1188,14 +1183,11 @@ describe('CLI index.ts', () => {
|
|
|
1188
1183
|
}
|
|
1189
1184
|
});
|
|
1190
1185
|
await program.parseAsync(['--tui', '--context', '2'], { from: 'user' });
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
mode: 'split',
|
|
1197
|
-
contextLines: 2,
|
|
1198
|
-
},
|
|
1186
|
+
expectRenderedTuiProps({
|
|
1187
|
+
targetCommitish: 'HEAD',
|
|
1188
|
+
baseCommitish: 'HEAD^',
|
|
1189
|
+
mode: 'split',
|
|
1190
|
+
contextLines: 2,
|
|
1199
1191
|
});
|
|
1200
1192
|
});
|
|
1201
1193
|
it('passes mode option to TUI app', async () => {
|
|
@@ -1216,8 +1208,8 @@ describe('CLI index.ts', () => {
|
|
|
1216
1208
|
console.error('Error: TUI mode requires an interactive terminal (TTY).');
|
|
1217
1209
|
process.exit(1);
|
|
1218
1210
|
}
|
|
1219
|
-
const
|
|
1220
|
-
const
|
|
1211
|
+
const render = mockRender;
|
|
1212
|
+
const TuiApp = mockTuiApp;
|
|
1221
1213
|
render(React.createElement(TuiApp, {
|
|
1222
1214
|
targetCommitish: commitish,
|
|
1223
1215
|
baseCommitish: commitish + '^',
|
|
@@ -1226,13 +1218,10 @@ describe('CLI index.ts', () => {
|
|
|
1226
1218
|
}
|
|
1227
1219
|
});
|
|
1228
1220
|
await program.parseAsync(['--tui', '--mode', 'unified'], { from: 'user' });
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
baseCommitish: 'HEAD^',
|
|
1234
|
-
mode: 'unified',
|
|
1235
|
-
},
|
|
1221
|
+
expectRenderedTuiProps({
|
|
1222
|
+
targetCommitish: 'HEAD',
|
|
1223
|
+
baseCommitish: 'HEAD^',
|
|
1224
|
+
mode: 'unified',
|
|
1236
1225
|
});
|
|
1237
1226
|
});
|
|
1238
1227
|
it('handles special arguments with TUI mode', async () => {
|
|
@@ -1249,8 +1238,8 @@ describe('CLI index.ts', () => {
|
|
|
1249
1238
|
.option('--pr <url>', 'pr')
|
|
1250
1239
|
.action(async (commitish, _compareWith, options) => {
|
|
1251
1240
|
if (options.tui) {
|
|
1252
|
-
const
|
|
1253
|
-
const
|
|
1241
|
+
const render = mockRender;
|
|
1242
|
+
const TuiApp = mockTuiApp;
|
|
1254
1243
|
let targetCommitish = commitish;
|
|
1255
1244
|
let baseCommitish;
|
|
1256
1245
|
if (commitish === 'working') {
|
|
@@ -1270,13 +1259,10 @@ describe('CLI index.ts', () => {
|
|
|
1270
1259
|
}
|
|
1271
1260
|
});
|
|
1272
1261
|
await program.parseAsync(['working', '--tui', '--mode', 'unified'], { from: 'user' });
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
baseCommitish: 'staged',
|
|
1278
|
-
mode: 'unified',
|
|
1279
|
-
},
|
|
1262
|
+
expectRenderedTuiProps({
|
|
1263
|
+
targetCommitish: 'working',
|
|
1264
|
+
baseCommitish: 'staged',
|
|
1265
|
+
mode: 'unified',
|
|
1280
1266
|
});
|
|
1281
1267
|
});
|
|
1282
1268
|
it('rejects TUI mode in non-TTY environment', async () => {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { waitForEnter } from './utils.js';
|
|
2
|
+
const TUI_DEPRECATION_ISSUES_URL = 'https://github.com/yoshiko-pg/difit/issues';
|
|
3
|
+
export const TUI_DEPRECATION_NOTICE_LINES = [
|
|
4
|
+
`⚠️ TUI mode will be removed in the next major release because ongoing implementation of core features is difficult. If you have feedback, please open an issue: ${TUI_DEPRECATION_ISSUES_URL}`,
|
|
5
|
+
`⚠️ tuiモードは継続的な主要機能の実装が難しいため次回のメジャーリリースで削除予定です。もしご意見がある場合はissueの起票をお願いします。 ${TUI_DEPRECATION_ISSUES_URL}`,
|
|
6
|
+
];
|
|
7
|
+
export const TUI_DEPRECATION_PROMPT = [
|
|
8
|
+
'Press Enter to start TUI mode.',
|
|
9
|
+
'Enterを押すとtuiモードを起動します。',
|
|
10
|
+
].join('\n');
|
|
11
|
+
export async function warnAboutTuiDeprecation(waitForEnterFn = waitForEnter) {
|
|
12
|
+
for (const line of TUI_DEPRECATION_NOTICE_LINES) {
|
|
13
|
+
console.warn(line);
|
|
14
|
+
}
|
|
15
|
+
await waitForEnterFn(`\n${TUI_DEPRECATION_PROMPT}\n`);
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { afterEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
+
import { TUI_DEPRECATION_NOTICE_LINES, TUI_DEPRECATION_PROMPT, warnAboutTuiDeprecation, } from './tuiDeprecation.js';
|
|
3
|
+
describe('TUI deprecation warning', () => {
|
|
4
|
+
afterEach(() => {
|
|
5
|
+
vi.restoreAllMocks();
|
|
6
|
+
});
|
|
7
|
+
it('shows bilingual warnings and waits for Enter before continuing', async () => {
|
|
8
|
+
const consoleWarn = vi.spyOn(console, 'warn').mockImplementation(() => { });
|
|
9
|
+
const waitForEnter = vi.fn().mockResolvedValue(undefined);
|
|
10
|
+
await warnAboutTuiDeprecation(waitForEnter);
|
|
11
|
+
expect(consoleWarn).toHaveBeenNthCalledWith(1, TUI_DEPRECATION_NOTICE_LINES[0]);
|
|
12
|
+
expect(consoleWarn).toHaveBeenNthCalledWith(2, TUI_DEPRECATION_NOTICE_LINES[1]);
|
|
13
|
+
expect(waitForEnter).toHaveBeenCalledWith(`\n${TUI_DEPRECATION_PROMPT}\n`);
|
|
14
|
+
expect(consoleWarn.mock.invocationCallOrder[1]).toBeLessThan(waitForEnter.mock.invocationCallOrder[0]);
|
|
15
|
+
});
|
|
16
|
+
});
|
package/dist/cli/utils.d.ts
CHANGED
|
@@ -24,4 +24,5 @@ export declare function validateDiffArguments(targetCommitish: string, baseCommi
|
|
|
24
24
|
export declare function findUntrackedFiles(git: SimpleGit): Promise<string[]>;
|
|
25
25
|
export declare function markFilesIntentToAdd(git: SimpleGit, files: string[]): Promise<void>;
|
|
26
26
|
export declare function promptUser(message: string): Promise<boolean>;
|
|
27
|
+
export declare function waitForEnter(message: string): Promise<void>;
|
|
27
28
|
export {};
|
package/dist/cli/utils.js
CHANGED
|
@@ -191,3 +191,20 @@ export async function promptUser(message) {
|
|
|
191
191
|
const trimmed = answer.trim().toLowerCase();
|
|
192
192
|
return trimmed === '' || ['y', 'yes'].includes(trimmed);
|
|
193
193
|
}
|
|
194
|
+
export async function waitForEnter(message) {
|
|
195
|
+
const rl = createInterface({
|
|
196
|
+
input: process.stdin,
|
|
197
|
+
output: process.stdout,
|
|
198
|
+
});
|
|
199
|
+
try {
|
|
200
|
+
while (true) {
|
|
201
|
+
const answer = await rl.question(message);
|
|
202
|
+
if (answer.trim() === '') {
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
finally {
|
|
208
|
+
rl.close();
|
|
209
|
+
}
|
|
210
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,B as t,C as n,E as r,H as i,M as a,U as o,V as s,k as c,p as l,w as u,z as d}from"./isArrayLikeObject-icl0H0jo.js";import{A as f,C as p,D as m,M as h,N as g,S as _,T as v,f as y,h as b,u as x,w as S}from"./_baseUniq-b7bzdUSn.js";var C=/\s/;function w(e){for(var t=e.length;t--&&C.test(e.charAt(t)););return t}var ee=/^\s+/;function T(e){return e&&e.slice(0,w(e)+1).replace(ee,``)}var E=NaN,D=/^[-+]0x[0-9a-f]+$/i,O=/^0b[01]+$/i,k=/^0o[0-7]+$/i,A=parseInt;function j(e){if(typeof e==`number`)return e;if(g(e))return E;if(t(e)){var n=typeof e.valueOf==`function`?e.valueOf():e;e=t(n)?n+``:n}if(typeof e!=`string`)return e===0?e:+e;e=T(e);var r=O.test(e);return r||k.test(e)?A(e.slice(2),r?2:8):D.test(e)?E:+e}var M=1/0,N=17976931348623157e292;function P(e){return e?(e=j(e),e===M||e===-M?(e<0?-1:1)*N:e===e?e:0):e===0?e:0}function F(e){var t=P(e),n=t%1;return t===t?n?t-n:t:0}function I(e){return e!=null&&e.length?_(e,1):[]}var L=Object.prototype,R=L.hasOwnProperty,z=r(function(t,r){t=Object(t);var i=-1,a=r.length,o=a>2?r[2]:void 0;for(o&&n(r[0],r[1],o)&&(a=1);++i<a;)for(var s=r[i],c=l(s),u=-1,d=c.length;++u<d;){var f=c[u],p=t[f];(p===void 0||e(p,L[f])&&!R.call(t,f))&&(t[f]=s[f])}return t});function B(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}function V(e){return function(t,n,r){var i=Object(t);if(!u(t)){var a=y(n,3);t=m(t),n=function(e){return a(i[e],e,i)}}var o=e(t,n,r);return o>-1?i[a?t[o]:o]:void 0}}var H=Math.max;function U(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var i=n==null?0:F(n);return i<0&&(i=H(r+i,0)),f(e,y(t,3),i)}var W=V(U);function G(e,t){var n=-1,r=u(e)?Array(e.length):[];return x(e,function(e,i,a){r[++n]=t(e,i,a)}),r}function K(e,t){return(s(e)?h:G)(e,y(t,3))}var q=Object.prototype.hasOwnProperty;function J(e,t){return e!=null&&q.call(e,t)}function Y(e,t){return e!=null&&b(e,t,J)}var X=`[object String]`;function Z(e){return typeof e==`string`||!s(e)&&i(e)&&o(e)==X}function Q(e,t){return e<t}function $(e,t,n){for(var r=-1,i=e.length;++r<i;){var a=e[r],o=t(a);if(o!=null&&(s===void 0?o===o&&!g(o):n(o,s)))var s=o,c=a}return c}function te(e){return e&&e.length?$(e,d,Q):void 0}function ne(e,n,r,i){if(!t(e))return e;n=v(n,e);for(var o=-1,s=n.length,l=s-1,u=e;u!=null&&++o<s;){var d=S(n[o]),f=r;if(d===`__proto__`||d===`constructor`||d===`prototype`)return e;if(o!=l){var p=u[d];f=i?i(p,d,u):void 0,f===void 0&&(f=t(p)?p:a(n[o+1])?[]:{})}c(u,d,f),u=u[d]}return e}function re(e,t,n){for(var r=-1,i=t.length,a={};++r<i;){var o=t[r],s=p(e,o);n(s,o)&&ne(a,v(o,e),s)}return a}export{Z as a,G as c,z as d,I as f,Q as i,W as l,P as m,te as n,Y as o,F as p,$ as r,K as s,re as t,B as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,B as t,F as n,H as r,M as i,O as a,T as o,U as s,V as c,W as l,_ as u,a as d,b as f,c as p,d as m,g as h,h as g,i as _,k as v,l as y,n as ee,o as b,p as x,r as te,s as ne,u as re,v as ie,w as S,y as C,z as w}from"./isArrayLikeObject-icl0H0jo.js";import{i as ae,n as T,r as E}from"./isEmpty-Du8sNmkE.js";var oe=`[object Symbol]`;function D(e){return typeof e==`symbol`||r(e)&&s(e)==oe}function O(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}var se=1/0,ce=l?l.prototype:void 0,le=ce?ce.toString:void 0;function ue(e){if(typeof e==`string`)return e;if(c(e))return O(e,ue)+``;if(D(e))return le?le.call(e):``;var t=e+``;return t==`0`&&1/e==-se?`-0`:t}function de(){}function fe(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}function pe(e,t,n,r){for(var i=e.length,a=n+(r?1:-1);r?a--:++a<i;)if(t(e[a],a,e))return a;return-1}function me(e){return e!==e}function he(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}function ge(e,t,n){return t===t?he(e,t,n):pe(e,me,n)}function _e(e,t){return!!(e!=null&&e.length)&&ge(e,t,0)>-1}function k(e){return S(e)?g(e):ae(e)}var ve=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ye=/^\w*$/;function A(e,t){if(c(e))return!1;var n=typeof e;return n==`number`||n==`symbol`||n==`boolean`||e==null||D(e)?!0:ye.test(e)||!ve.test(e)||t!=null&&e in Object(t)}var be=500;function xe(e){var t=re(e,function(e){return n.size===be&&n.clear(),e}),n=t.cache;return t}var Se=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ce=/\\(\\)?/g,we=xe(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(``),e.replace(Se,function(e,n,r,i){t.push(r?i.replace(Ce,`$1`):n||e)}),t});function j(e){return e==null?``:ue(e)}function M(e,t){return c(e)?e:A(e,t)?[e]:we(j(e))}var Te=1/0;function N(e){if(typeof e==`string`||D(e))return e;var t=e+``;return t==`0`&&1/e==-Te?`-0`:t}function P(e,t){t=M(t,e);for(var n=0,r=t.length;e!=null&&n<r;)e=e[N(t[n++])];return n&&n==r?e:void 0}function Ee(e,t,n){var r=e==null?void 0:P(e,t);return r===void 0?n:r}function F(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}var I=l?l.isConcatSpreadable:void 0;function De(e){return c(e)||f(e)||!!(I&&e&&e[I])}function L(e,t,n,r,i){var a=-1,o=e.length;for(n||=De,i||=[];++a<o;){var s=e[a];t>0&&n(s)?t>1?L(s,t-1,n,r,i):F(i,s):r||(i[i.length]=s)}return i}function Oe(e,t,n,r){var i=-1,a=e==null?0:e.length;for(r&&a&&(n=e[++i]);++i<a;)n=t(n,e[i],i,e);return n}function ke(e,t){return e&&a(t,k(t),e)}function Ae(e,t){return e&&a(t,x(t),e)}function R(e,t){for(var n=-1,r=e==null?0:e.length,i=0,a=[];++n<r;){var o=e[n];t(o,n,e)&&(a[i++]=o)}return a}function z(){return[]}var je=Object.prototype.propertyIsEnumerable,B=Object.getOwnPropertySymbols,V=B?function(e){return e==null?[]:(e=Object(e),R(B(e),function(t){return je.call(e,t)}))}:z;function Me(e,t){return a(e,V(e),t)}var Ne=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)F(t,V(e)),e=y(e);return t}:z;function Pe(e,t){return a(e,Ne(e),t)}function Fe(e,t,n){var r=t(e);return c(e)?r:F(r,n(e))}function H(e){return Fe(e,k,V)}function Ie(e){return Fe(e,x,Ne)}var Le=Object.prototype.hasOwnProperty;function Re(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]==`string`&&Le.call(e,`index`)&&(n.index=e.index,n.input=e.input),n}function ze(e,t){var n=t?d(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}var Be=/\w*$/;function Ve(e){var t=new e.constructor(e.source,Be.exec(e));return t.lastIndex=e.lastIndex,t}var He=l?l.prototype:void 0,Ue=He?He.valueOf:void 0;function We(e){return Ue?Object(Ue.call(e)):{}}var Ge=`[object Boolean]`,Ke=`[object Date]`,qe=`[object Map]`,Je=`[object Number]`,Ye=`[object RegExp]`,Xe=`[object Set]`,Ze=`[object String]`,Qe=`[object Symbol]`,$e=`[object ArrayBuffer]`,et=`[object DataView]`,tt=`[object Float32Array]`,nt=`[object Float64Array]`,rt=`[object Int8Array]`,it=`[object Int16Array]`,at=`[object Int32Array]`,ot=`[object Uint8Array]`,st=`[object Uint8ClampedArray]`,ct=`[object Uint16Array]`,lt=`[object Uint32Array]`;function ut(e,t,n){var r=e.constructor;switch(t){case $e:return d(e);case Ge:case Ke:return new r(+e);case et:return ze(e,n);case tt:case nt:case rt:case it:case at:case ot:case st:case ct:case lt:return _(e,n);case qe:return new r;case Je:case Ze:return new r(e);case Ye:return Ve(e);case Xe:return new r;case Qe:return We(e)}}var dt=`[object Map]`;function ft(e){return r(e)&&T(e)==dt}var pt=u&&u.isMap,mt=pt?ie(pt):ft,ht=`[object Set]`;function gt(e){return r(e)&&T(e)==ht}var _t=u&&u.isSet,vt=_t?ie(_t):gt,yt=1,bt=2,xt=4,St=`[object Arguments]`,Ct=`[object Array]`,wt=`[object Boolean]`,Tt=`[object Date]`,Et=`[object Error]`,Dt=`[object Function]`,Ot=`[object GeneratorFunction]`,kt=`[object Map]`,At=`[object Number]`,jt=`[object Object]`,Mt=`[object RegExp]`,Nt=`[object Set]`,Pt=`[object String]`,Ft=`[object Symbol]`,It=`[object WeakMap]`,Lt=`[object ArrayBuffer]`,Rt=`[object DataView]`,zt=`[object Float32Array]`,Bt=`[object Float64Array]`,Vt=`[object Int8Array]`,Ht=`[object Int16Array]`,Ut=`[object Int32Array]`,Wt=`[object Uint8Array]`,Gt=`[object Uint8ClampedArray]`,Kt=`[object Uint16Array]`,qt=`[object Uint32Array]`,U={};U[St]=U[Ct]=U[Lt]=U[Rt]=U[wt]=U[Tt]=U[zt]=U[Bt]=U[Vt]=U[Ht]=U[Ut]=U[kt]=U[At]=U[jt]=U[Mt]=U[Nt]=U[Pt]=U[Ft]=U[Wt]=U[Gt]=U[Kt]=U[qt]=!0,U[Et]=U[Dt]=U[It]=!1;function W(e,r,i,a,o,s){var l,u=r&yt,d=r&bt,f=r&xt;if(i&&(l=o?i(e,a,o,s):i(e)),l!==void 0)return l;if(!t(e))return e;var m=c(e);if(m){if(l=Re(e),!u)return n(e,l)}else{var h=T(e),g=h==Dt||h==Ot;if(C(e))return ne(e,u);if(h==jt||h==St||g&&!o){if(l=d||g?{}:te(e),!u)return d?Pe(e,Ae(l,e)):Me(e,ke(l,e))}else{if(!U[h])return o?e:{};l=ut(e,h,u)}}s||=new p;var _=s.get(e);if(_)return _;s.set(e,l),vt(e)?e.forEach(function(t){l.add(W(t,r,i,t,e,s))}):mt(e)&&e.forEach(function(t,n){l.set(n,W(t,r,i,n,e,s))});var y=m?void 0:(f?d?Ie:H:d?x:k)(e);return fe(y||e,function(t,n){y&&(n=t,t=e[n]),v(l,n,W(t,r,i,n,e,s))}),l}var Jt=`__lodash_hash_undefined__`;function Yt(e){return this.__data__.set(e,Jt),this}function Xt(e){return this.__data__.has(e)}function G(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new m;++t<n;)this.add(e[t])}G.prototype.add=G.prototype.push=Yt,G.prototype.has=Xt;function Zt(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}function K(e,t){return e.has(t)}var Qt=1,$t=2;function en(e,t,n,r,i,a){var o=n&Qt,s=e.length,c=t.length;if(s!=c&&!(o&&c>s))return!1;var l=a.get(e),u=a.get(t);if(l&&u)return l==t&&u==e;var d=-1,f=!0,p=n&$t?new G:void 0;for(a.set(e,t),a.set(t,e);++d<s;){var m=e[d],h=t[d];if(r)var g=o?r(h,m,d,t,e,a):r(m,h,d,e,t,a);if(g!==void 0){if(g)continue;f=!1;break}if(p){if(!Zt(t,function(e,t){if(!K(p,t)&&(m===e||i(m,e,n,r,a)))return p.push(t)})){f=!1;break}}else if(!(m===h||i(m,h,n,r,a))){f=!1;break}}return a.delete(e),a.delete(t),f}function tn(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function q(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var nn=1,rn=2,an=`[object Boolean]`,on=`[object Date]`,sn=`[object Error]`,cn=`[object Map]`,ln=`[object Number]`,un=`[object RegExp]`,dn=`[object Set]`,fn=`[object String]`,pn=`[object Symbol]`,mn=`[object ArrayBuffer]`,hn=`[object DataView]`,gn=l?l.prototype:void 0,J=gn?gn.valueOf:void 0;function _n(t,n,r,i,a,o,s){switch(r){case hn:if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case mn:return!(t.byteLength!=n.byteLength||!o(new b(t),new b(n)));case an:case on:case ln:return e(+t,+n);case sn:return t.name==n.name&&t.message==n.message;case un:case fn:return t==n+``;case cn:var c=tn;case dn:var l=i&nn;if(c||=q,t.size!=n.size&&!l)return!1;var u=s.get(t);if(u)return u==n;i|=rn,s.set(t,n);var d=en(c(t),c(n),i,a,o,s);return s.delete(t),d;case pn:if(J)return J.call(t)==J.call(n)}return!1}var vn=1,yn=Object.prototype.hasOwnProperty;function bn(e,t,n,r,i,a){var o=n&vn,s=H(e),c=s.length;if(c!=H(t).length&&!o)return!1;for(var l=c;l--;){var u=s[l];if(!(o?u in t:yn.call(t,u)))return!1}var d=a.get(e),f=a.get(t);if(d&&f)return d==t&&f==e;var p=!0;a.set(e,t),a.set(t,e);for(var m=o;++l<c;){u=s[l];var h=e[u],g=t[u];if(r)var _=o?r(g,h,u,t,e,a):r(h,g,u,e,t,a);if(!(_===void 0?h===g||i(h,g,n,r,a):_)){p=!1;break}m||=u==`constructor`}if(p&&!m){var v=e.constructor,y=t.constructor;v!=y&&`constructor`in e&&`constructor`in t&&!(typeof v==`function`&&v instanceof v&&typeof y==`function`&&y instanceof y)&&(p=!1)}return a.delete(e),a.delete(t),p}var xn=1,Sn=`[object Arguments]`,Cn=`[object Array]`,Y=`[object Object]`,wn=Object.prototype.hasOwnProperty;function Tn(e,t,n,r,i,a){var o=c(e),s=c(t),l=o?Cn:T(e),u=s?Cn:T(t);l=l==Sn?Y:l,u=u==Sn?Y:u;var d=l==Y,f=u==Y,m=l==u;if(m&&C(e)){if(!C(t))return!1;o=!0,d=!1}if(m&&!d)return a||=new p,o||h(e)?en(e,t,n,r,i,a):_n(e,t,l,n,r,i,a);if(!(n&xn)){var g=d&&wn.call(e,`__wrapped__`),_=f&&wn.call(t,`__wrapped__`);if(g||_){var v=g?e.value():e,y=_?t.value():t;return a||=new p,i(v,y,n,r,a)}}return m?(a||=new p,bn(e,t,n,r,i,a)):!1}function X(e,t,n,i,a){return e===t?!0:e==null||t==null||!r(e)&&!r(t)?e!==e&&t!==t:Tn(e,t,n,i,X,a)}var En=1,Dn=2;function On(e,t,n,r){var i=n.length,a=i,o=!r;if(e==null)return!a;for(e=Object(e);i--;){var s=n[i];if(o&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++i<a;){s=n[i];var c=s[0],l=e[c],u=s[1];if(o&&s[2]){if(l===void 0&&!(c in e))return!1}else{var d=new p;if(r)var f=r(l,u,c,e,t,d);if(!(f===void 0?X(u,l,En|Dn,r,d):f))return!1}}return!0}function kn(e){return e===e&&!t(e)}function An(e){for(var t=k(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,kn(i)]}return t}function Z(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==void 0||e in Object(n))}}function jn(e){var t=An(e);return t.length==1&&t[0][2]?Z(t[0][0],t[0][1]):function(n){return n===e||On(n,e,t)}}function Mn(e,t){return e!=null&&t in Object(e)}function Nn(e,t,n){t=M(t,e);for(var r=-1,a=t.length,s=!1;++r<a;){var l=N(t[r]);if(!(s=e!=null&&n(e,l)))break;e=e[l]}return s||++r!=a?s:(a=e==null?0:e.length,!!a&&o(a)&&i(l,a)&&(c(e)||f(e)))}function Pn(e,t){return e!=null&&Nn(e,t,Mn)}var Fn=1,In=2;function Ln(e,t){return A(e)&&kn(t)?Z(N(e),t):function(n){var r=Ee(n,e);return r===void 0&&r===t?Pn(n,e):X(t,r,Fn|In)}}function Rn(e){return function(t){return t?.[e]}}function zn(e){return function(t){return P(t,e)}}function Bn(e){return A(e)?Rn(N(e)):zn(e)}function Q(e){return typeof e==`function`?e:e==null?w:typeof e==`object`?c(e)?Ln(e[0],e[1]):jn(e):Bn(e)}function Vn(e,t){return e&&ee(e,t,k)}function Hn(e,t){return function(n,r){if(n==null)return n;if(!S(n))return e(n,r);for(var i=n.length,a=t?i:-1,o=Object(n);(t?a--:++a<i)&&r(o[a],a,o)!==!1;);return n}}var $=Hn(Vn);function Un(e,t,n){for(var r=-1,i=e==null?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}function Wn(e){return typeof e==`function`?e:w}function Gn(e,t){return(c(e)?fe:$)(e,Wn(t))}function Kn(e,t){var n=[];return $(e,function(e,r,i){t(e,r,i)&&n.push(e)}),n}function qn(e,t){return(c(e)?R:Kn)(e,Q(t,3))}function Jn(e,t){return O(t,function(t){return e[t]})}function Yn(e){return e==null?[]:Jn(e,k(e))}function Xn(e){return e===void 0}function Zn(e,t,n,r,i){return i(e,function(e,i,a){n=r?(r=!1,e):t(n,e,i,a)}),n}function Qn(e,t,n){var r=c(e)?Oe:Zn,i=arguments.length<3;return r(e,Q(t,4),n,i,$)}var $n=E&&1/q(new E([,-0]))[1]==1/0?function(e){return new E(e)}:de,er=200;function tr(e,t,n){var r=-1,i=_e,a=e.length,o=!0,s=[],c=s;if(n)o=!1,i=Un;else if(a>=er){var l=t?null:$n(e);if(l)return q(l);o=!1,i=K,c=new G}else c=t?[]:s;outer:for(;++r<a;){var u=e[r],d=t?t(u):u;if(u=n||u!==0?u:0,o&&d===d){for(var f=c.length;f--;)if(c[f]===d)continue outer;t&&c.push(d),s.push(u)}else i(c,d,n)||(c!==s&&c.push(d),s.push(u))}return s}export{pe as A,P as C,k as D,j as E,O as M,D as N,_e as O,L as S,M as T,Zt as _,qn as a,Ie as b,Wn as c,Vn as d,Q as f,K as g,Nn as h,Yn as i,de as j,ge as k,Un as l,Pn as m,Qn as n,Kn as o,Rn as p,Xn as r,Gn as s,tr as t,$ as u,G as v,N as w,R as x,W as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./path-DfRbCp9y.js";import{a as n,c as r,d as i,f as a,i as o,l as s,n as c,p as l,r as u,s as d,t as f,u as p}from"./math-CNhlSIO3.js";function m(e){return e.innerRadius}function h(e){return e.outerRadius}function g(e){return e.startAngle}function _(e){return e.endAngle}function v(e){return e&&e.padAngle}function y(e,t,n,r,i,a,o,s){var c=n-e,l=r-t,u=o-i,d=s-a,f=d*c-u*l;if(!(f*f<1e-12))return f=(u*(t-a)-d*(e-i))/f,[e+f*c,t+f*l]}function b(e,t,n,i,o,s,c){var l=e-n,u=t-i,d=(c?s:-s)/a(l*l+u*u),f=d*u,p=-d*l,m=e+f,h=t+p,g=n+f,_=i+p,v=(m+g)/2,y=(h+_)/2,b=g-m,x=_-h,S=b*b+x*x,C=o-s,w=m*_-g*h,T=(x<0?-1:1)*a(r(0,C*C*S-w*w)),E=(w*x-b*T)/S,D=(-w*b-x*T)/S,O=(w*x+b*T)/S,k=(-w*b+x*T)/S,A=E-v,j=D-y,M=O-v,N=k-y;return A*A+j*j>M*M+N*N&&(E=O,D=k),{cx:E,cy:D,x01:-f,y01:-p,x11:E*(o/C-1),y11:D*(o/C-1)}}function x(){var r=m,x=h,S=e(0),C=null,w=g,T=_,E=v,D=null,O=t(k);function k(){var e,t,m=+r.apply(this,arguments),h=+x.apply(this,arguments),g=w.apply(this,arguments)-d,_=T.apply(this,arguments)-d,v=f(_-g),k=_>g;if(D||=e=O(),h<m&&(t=h,h=m,m=t),!(h>1e-12))D.moveTo(0,0);else if(v>l-1e-12)D.moveTo(h*n(g),h*i(g)),D.arc(0,0,h,g,_,!k),m>1e-12&&(D.moveTo(m*n(_),m*i(_)),D.arc(0,0,m,_,g,k));else{var A=g,j=_,M=g,N=_,P=v,F=v,I=E.apply(this,arguments)/2,L=I>1e-12&&(C?+C.apply(this,arguments):a(m*m+h*h)),R=s(f(h-m)/2,+S.apply(this,arguments)),z=R,B=R,V,H;if(L>1e-12){var U=u(L/m*i(I)),W=u(L/h*i(I));(P-=U*2)>1e-12?(U*=k?1:-1,M+=U,N-=U):(P=0,M=N=(g+_)/2),(F-=W*2)>1e-12?(W*=k?1:-1,A+=W,j-=W):(F=0,A=j=(g+_)/2)}var G=h*n(A),K=h*i(A),q=m*n(N),J=m*i(N);if(R>1e-12){var Y=h*n(j),X=h*i(j),Z=m*n(M),Q=m*i(M),$;if(v<p)if($=y(G,K,Z,Q,Y,X,q,J)){var ee=G-$[0],te=K-$[1],ne=Y-$[0],re=X-$[1],ie=1/i(c((ee*ne+te*re)/(a(ee*ee+te*te)*a(ne*ne+re*re)))/2),ae=a($[0]*$[0]+$[1]*$[1]);z=s(R,(m-ae)/(ie-1)),B=s(R,(h-ae)/(ie+1))}else z=B=0}F>1e-12?B>1e-12?(V=b(Z,Q,G,K,h,B,k),H=b(Y,X,q,J,h,B,k),D.moveTo(V.cx+V.x01,V.cy+V.y01),B<R?D.arc(V.cx,V.cy,B,o(V.y01,V.x01),o(H.y01,H.x01),!k):(D.arc(V.cx,V.cy,B,o(V.y01,V.x01),o(V.y11,V.x11),!k),D.arc(0,0,h,o(V.cy+V.y11,V.cx+V.x11),o(H.cy+H.y11,H.cx+H.x11),!k),D.arc(H.cx,H.cy,B,o(H.y11,H.x11),o(H.y01,H.x01),!k))):(D.moveTo(G,K),D.arc(0,0,h,A,j,!k)):D.moveTo(G,K),!(m>1e-12)||!(P>1e-12)?D.lineTo(q,J):z>1e-12?(V=b(q,J,Y,X,m,-z,k),H=b(G,K,Z,Q,m,-z,k),D.lineTo(V.cx+V.x01,V.cy+V.y01),z<R?D.arc(V.cx,V.cy,z,o(V.y01,V.x01),o(H.y01,H.x01),!k):(D.arc(V.cx,V.cy,z,o(V.y01,V.x01),o(V.y11,V.x11),!k),D.arc(0,0,m,o(V.cy+V.y11,V.cx+V.x11),o(H.cy+H.y11,H.cx+H.x11),k),D.arc(H.cx,H.cy,z,o(H.y11,H.x11),o(H.y01,H.x01),!k))):D.arc(0,0,m,N,M,k)}if(D.closePath(),e)return D=null,e+``||null}return k.centroid=function(){var e=(+r.apply(this,arguments)+ +x.apply(this,arguments))/2,t=(+w.apply(this,arguments)+ +T.apply(this,arguments))/2-p/2;return[n(t)*e,i(t)*e]},k.innerRadius=function(t){return arguments.length?(r=typeof t==`function`?t:e(+t),k):r},k.outerRadius=function(t){return arguments.length?(x=typeof t==`function`?t:e(+t),k):x},k.cornerRadius=function(t){return arguments.length?(S=typeof t==`function`?t:e(+t),k):S},k.padRadius=function(t){return arguments.length?(C=t==null?null:typeof t==`function`?t:e(+t),k):C},k.startAngle=function(t){return arguments.length?(w=typeof t==`function`?t:e(+t),k):w},k.endAngle=function(t){return arguments.length?(T=typeof t==`function`?t:e(+t),k):T},k.padAngle=function(t){return arguments.length?(E=typeof t==`function`?t:e(+t),k):E},k.context=function(e){return arguments.length?(D=e??null,k):D},k}export{x as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-XZSTWKYB-C5JJ0TZR.js";import{n as e}from"./chunk-R5LLSJPH-ChexuO_S.js";export{e as createArchitectureServices};
|