evmtools-node 0.0.17 → 0.0.18

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.
Files changed (34) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/README.md +42 -0
  3. package/dist/common/VersionInfo.d.ts +22 -0
  4. package/dist/common/VersionInfo.d.ts.map +1 -0
  5. package/dist/common/VersionInfo.js +60 -0
  6. package/dist/common/VersionInfo.js.map +1 -0
  7. package/dist/common/index.d.ts +1 -0
  8. package/dist/common/index.d.ts.map +1 -1
  9. package/dist/common/index.js +1 -0
  10. package/dist/common/index.js.map +1 -1
  11. package/dist/domain/Project.d.ts +19 -0
  12. package/dist/domain/Project.d.ts.map +1 -1
  13. package/dist/domain/Project.js +18 -0
  14. package/dist/domain/Project.js.map +1 -1
  15. package/dist/infrastructure/CsvProjectCreator.d.ts +139 -0
  16. package/dist/infrastructure/CsvProjectCreator.d.ts.map +1 -0
  17. package/dist/infrastructure/CsvProjectCreator.js +442 -0
  18. package/dist/infrastructure/CsvProjectCreator.js.map +1 -0
  19. package/dist/infrastructure/index.d.ts +1 -0
  20. package/dist/infrastructure/index.d.ts.map +1 -1
  21. package/dist/infrastructure/index.js +1 -0
  22. package/dist/infrastructure/index.js.map +1 -1
  23. package/dist/presentation/cli-pbevm-diff.d.ts +1 -0
  24. package/dist/presentation/cli-pbevm-diff.js +1 -0
  25. package/dist/presentation/cli-pbevm-diff.js.map +1 -1
  26. package/dist/presentation/cli-pbevm-show-project.d.ts +1 -0
  27. package/dist/presentation/cli-pbevm-show-project.js +1 -0
  28. package/dist/presentation/cli-pbevm-show-project.js.map +1 -1
  29. package/dist/presentation/cli-pbevm-show-pv.d.ts +1 -0
  30. package/dist/presentation/cli-pbevm-show-pv.js +1 -0
  31. package/dist/presentation/cli-pbevm-show-pv.js.map +1 -1
  32. package/dist/resource/presentation/cli-pbevm-show-resourceplan.js +0 -0
  33. package/jest.config.js +26 -0
  34. package/package.json +109 -102
@@ -0,0 +1,442 @@
1
+ "use strict";
2
+ /**
3
+ * CsvProjectCreator
4
+ *
5
+ * 仕様書: docs/specs/domain/CsvProjectCreator.spec.yaml
6
+ * 要件ID: REQ-CSV-001
7
+ *
8
+ * CSVファイルパスを受け取り、ファイルを読み込んでProjectを生成するアダプター
9
+ */
10
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
+ desc = { enumerable: true, get: function() { return m[k]; } };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
17
+ }) : (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ o[k2] = m[k];
20
+ }));
21
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
23
+ }) : function(o, v) {
24
+ o["default"] = v;
25
+ });
26
+ var __importStar = (this && this.__importStar) || (function () {
27
+ var ownKeys = function(o) {
28
+ ownKeys = Object.getOwnPropertyNames || function (o) {
29
+ var ar = [];
30
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
31
+ return ar;
32
+ };
33
+ return ownKeys(o);
34
+ };
35
+ return function (mod) {
36
+ if (mod && mod.__esModule) return mod;
37
+ var result = {};
38
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
39
+ __setModuleDefault(result, mod);
40
+ return result;
41
+ };
42
+ })();
43
+ var __importDefault = (this && this.__importDefault) || function (mod) {
44
+ return (mod && mod.__esModule) ? mod : { "default": mod };
45
+ };
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ exports.CsvProjectCreator = void 0;
48
+ const fs = __importStar(require("fs"));
49
+ const path = __importStar(require("path"));
50
+ const iconv_lite_1 = __importDefault(require("iconv-lite"));
51
+ const excel_csv_read_write_1 = require("excel-csv-read-write");
52
+ const Project_1 = require("../domain/Project");
53
+ const TaskRow_1 = require("../domain/TaskRow");
54
+ const TaskService_1 = require("../domain/TaskService");
55
+ const common_1 = require("../common");
56
+ const logger_1 = require("../logger");
57
+ /**
58
+ * ファイル名パターン: {プロジェクト名}_{yyyyMMdd}.csv
59
+ */
60
+ const FILENAME_PATTERN = /^(.+)_(\d{8})\.csv$/i;
61
+ /**
62
+ * CSVファイルからProjectを生成するクラス
63
+ *
64
+ * 不変条件:
65
+ * - INV-CSV-01: createProject()は常にProjectインスタンスを返す(エラー時は例外)
66
+ * - INV-CSV-02: 戻り値のProjectは有効な状態(baseDate, taskNodes, holidayDatasが設定済み)
67
+ * - INV-CSV-03: 生成されるtaskNodesは全てisLeaf=true
68
+ */
69
+ class CsvProjectCreator {
70
+ /**
71
+ * コンストラクタ
72
+ *
73
+ * @param csvPath CSVファイルの絶対パスまたは相対パス
74
+ * @param options オプション設定
75
+ *
76
+ * 事前条件:
77
+ * - PRE-CSV-01: csvPathが有効なファイルパス
78
+ * - PRE-CSV-02: 指定パスにCSVファイルが存在する
79
+ * - PRE-CSV-03: ファイル名が規則に従う({name}_{yyyyMMdd}.csv)
80
+ */
81
+ constructor(_csvPath, options) {
82
+ this._csvPath = _csvPath;
83
+ this.logger = (0, logger_1.getLogger)('infrastructure/CsvProjectCreator');
84
+ this._encoding = options?.encoding ?? 'auto';
85
+ }
86
+ /**
87
+ * CSVファイルを読み込んでProjectオブジェクトを生成する
88
+ *
89
+ * 事後条件:
90
+ * - POST-CSV-01: 戻り値のProjectにbaseDateが設定されている(ファイル名から抽出)
91
+ * - POST-CSV-02: 戻り値のProjectにtaskNodesが設定されている(空配列可)
92
+ * - POST-CSV-03: 戻り値のProjectのholidayDatasは空配列
93
+ * - POST-CSV-04: 全てのTaskNodeはisLeaf=true
94
+ * - POST-CSV-05: 全てのTaskNodeはparentId=undefined
95
+ * - POST-CSV-06: startDateはタスクの最小開始日、endDateは最大終了日
96
+ *
97
+ * @returns Project
98
+ * @throws ファイルが存在しない場合: "File not found: {path}"
99
+ * @throws ファイル名パターン不一致: "Invalid filename format. Expected: {name}_{yyyyMMdd}.csv"
100
+ * @throws CSV解析エラー: "Failed to parse CSV: {details}"
101
+ */
102
+ async createProject() {
103
+ // 1. ファイル存在チェック
104
+ if (!fs.existsSync(this._csvPath)) {
105
+ throw new Error(`File not found: ${this._csvPath}`);
106
+ }
107
+ // 2. ファイル名からプロジェクト名と基準日を抽出
108
+ const filename = path.basename(this._csvPath);
109
+ const match = filename.match(FILENAME_PATTERN);
110
+ if (!match) {
111
+ throw new Error(`Invalid filename format. Expected: {name}_{yyyyMMdd}.csv, got: ${filename}`);
112
+ }
113
+ const projectName = match[1];
114
+ const baseDateStr = match[2];
115
+ const baseDate = this.parseDateFromString(baseDateStr);
116
+ // 3. ファイル読み込みとエンコーディング処理
117
+ const fileBuffer = fs.readFileSync(this._csvPath);
118
+ const encoding = this._encoding === 'auto' ? this.detectEncoding(fileBuffer) : this._encoding;
119
+ const content = this.decodeBuffer(fileBuffer, encoding);
120
+ // 4. CSVパース
121
+ const taskRows = this.parseCsv(content);
122
+ // 5. startDate/endDate算出
123
+ const from = (0, common_1.minDate)(taskRows.map((row) => row.startDate));
124
+ const to = (0, common_1.maxDate)(taskRows.map((row) => row.endDate));
125
+ // 6. TaskNode[]にビルド
126
+ const taskService = new TaskService_1.TaskService();
127
+ const taskNodes = taskService.buildTaskTree(taskRows);
128
+ // 7. Project生成
129
+ const project = new Project_1.Project(taskNodes, baseDate, [], // holidayDatas: 空配列
130
+ from, to, projectName);
131
+ return project;
132
+ }
133
+ /**
134
+ * yyyyMMdd形式の文字列からDateを生成
135
+ */
136
+ parseDateFromString(dateStr) {
137
+ const year = parseInt(dateStr.substring(0, 4), 10);
138
+ const month = parseInt(dateStr.substring(4, 6), 10) - 1;
139
+ const day = parseInt(dateStr.substring(6, 8), 10);
140
+ return new Date(year, month, day);
141
+ }
142
+ /**
143
+ * エンコーディング自動判定
144
+ *
145
+ * BOM検出またはUTF-8の妥当性チェックで判定
146
+ * UTF-8として有効でない場合のみShift-JISとして処理
147
+ */
148
+ detectEncoding(buffer) {
149
+ // UTF-8 BOM検出
150
+ if (buffer[0] === 0xef && buffer[1] === 0xbb && buffer[2] === 0xbf) {
151
+ return 'utf-8';
152
+ }
153
+ // UTF-8として妥当かどうかをチェック
154
+ if (this.isValidUtf8(buffer)) {
155
+ return 'utf-8';
156
+ }
157
+ return 'shift-jis';
158
+ }
159
+ /**
160
+ * BufferがUTF-8として有効かどうかをチェック
161
+ */
162
+ isValidUtf8(buffer) {
163
+ let i = 0;
164
+ while (i < buffer.length) {
165
+ const byte = buffer[i];
166
+ // ASCII (0x00-0x7F)
167
+ if (byte <= 0x7f) {
168
+ i++;
169
+ continue;
170
+ }
171
+ // 2バイトUTF-8 (0xC0-0xDF)
172
+ if (byte >= 0xc2 && byte <= 0xdf) {
173
+ if (i + 1 >= buffer.length)
174
+ return false;
175
+ const next = buffer[i + 1];
176
+ if (next < 0x80 || next > 0xbf)
177
+ return false;
178
+ i += 2;
179
+ continue;
180
+ }
181
+ // 3バイトUTF-8 (0xE0-0xEF) - 日本語はここ
182
+ if (byte >= 0xe0 && byte <= 0xef) {
183
+ if (i + 2 >= buffer.length)
184
+ return false;
185
+ const next1 = buffer[i + 1];
186
+ const next2 = buffer[i + 2];
187
+ // 特別なケース: E0の場合、次のバイトはA0-BF
188
+ if (byte === 0xe0 && (next1 < 0xa0 || next1 > 0xbf))
189
+ return false;
190
+ // 特別なケース: EDの場合、次のバイトは80-9F (サロゲート除外)
191
+ if (byte === 0xed && (next1 < 0x80 || next1 > 0x9f))
192
+ return false;
193
+ // 通常のケース
194
+ if (byte !== 0xe0 && byte !== 0xed && (next1 < 0x80 || next1 > 0xbf))
195
+ return false;
196
+ if (next2 < 0x80 || next2 > 0xbf)
197
+ return false;
198
+ i += 3;
199
+ continue;
200
+ }
201
+ // 4バイトUTF-8 (0xF0-0xF4)
202
+ if (byte >= 0xf0 && byte <= 0xf4) {
203
+ if (i + 3 >= buffer.length)
204
+ return false;
205
+ const next1 = buffer[i + 1];
206
+ const next2 = buffer[i + 2];
207
+ const next3 = buffer[i + 3];
208
+ if (byte === 0xf0 && (next1 < 0x90 || next1 > 0xbf))
209
+ return false;
210
+ if (byte === 0xf4 && (next1 < 0x80 || next1 > 0x8f))
211
+ return false;
212
+ if (byte !== 0xf0 && byte !== 0xf4 && (next1 < 0x80 || next1 > 0xbf))
213
+ return false;
214
+ if (next2 < 0x80 || next2 > 0xbf)
215
+ return false;
216
+ if (next3 < 0x80 || next3 > 0xbf)
217
+ return false;
218
+ i += 4;
219
+ continue;
220
+ }
221
+ // 不正なバイト
222
+ return false;
223
+ }
224
+ return true;
225
+ }
226
+ /**
227
+ * BufferをエンコーディングでデコードしてstringにReturn
228
+ */
229
+ decodeBuffer(buffer, encoding) {
230
+ if (encoding === 'utf-8') {
231
+ // UTF-8 BOMがあれば除去
232
+ if (buffer[0] === 0xef && buffer[1] === 0xbb && buffer[2] === 0xbf) {
233
+ return buffer.toString('utf-8').substring(1);
234
+ }
235
+ return buffer.toString('utf-8');
236
+ }
237
+ else {
238
+ return iconv_lite_1.default.decode(buffer, 'Shift_JIS');
239
+ }
240
+ }
241
+ /**
242
+ * CSVコンテンツをパースしてTaskRow[]を生成
243
+ *
244
+ * ビジネスルール:
245
+ * - BR-CSV-01: 進捗率が1より大きい場合、100で割って0-1に正規化
246
+ * - BR-CSV-02: タスクIDが空または数値でない行はスキップ(警告ログ出力)
247
+ * - BR-CSV-03: 日付形式はyyyy/MM/ddまたはyyyy-MM-ddを許容
248
+ */
249
+ parseCsv(content) {
250
+ const lines = content.split(/\r?\n/).filter((line) => line.trim() !== '');
251
+ if (lines.length === 0) {
252
+ return [];
253
+ }
254
+ // 1行目はヘッダー行としてスキップ
255
+ const dataLines = lines.slice(1);
256
+ const taskRows = [];
257
+ let sharp = 1;
258
+ for (let lineIndex = 0; lineIndex < dataLines.length; lineIndex++) {
259
+ const line = dataLines[lineIndex];
260
+ const columns = this.parseCSVLine(line);
261
+ // BR-CSV-02: タスクIDが空または数値でない行はスキップ
262
+ const taskIdStr = columns[0]?.trim();
263
+ if (!taskIdStr) {
264
+ this.logger.warn(`Line ${lineIndex + 2}: Empty task ID, skipping`);
265
+ continue;
266
+ }
267
+ const taskId = parseInt(taskIdStr, 10);
268
+ if (isNaN(taskId)) {
269
+ this.logger.warn(`Line ${lineIndex + 2}: Invalid task ID "${taskIdStr}", skipping`);
270
+ continue;
271
+ }
272
+ try {
273
+ const taskRow = this.createTaskRowFromColumns(columns, sharp, taskId);
274
+ taskRows.push(taskRow);
275
+ sharp++;
276
+ }
277
+ catch (error) {
278
+ this.logger.warn(`Line ${lineIndex + 2}: Failed to parse row: ${error instanceof Error ? error.message : error}`);
279
+ }
280
+ }
281
+ return taskRows;
282
+ }
283
+ /**
284
+ * CSVの1行をパースしてカラム配列を返す
285
+ * カンマ区切り、ダブルクォート対応
286
+ */
287
+ parseCSVLine(line) {
288
+ const result = [];
289
+ let current = '';
290
+ let inQuote = false;
291
+ for (let i = 0; i < line.length; i++) {
292
+ const char = line[i];
293
+ if (inQuote) {
294
+ if (char === '"') {
295
+ if (i + 1 < line.length && line[i + 1] === '"') {
296
+ current += '"';
297
+ i++;
298
+ }
299
+ else {
300
+ inQuote = false;
301
+ }
302
+ }
303
+ else {
304
+ current += char;
305
+ }
306
+ }
307
+ else {
308
+ if (char === '"') {
309
+ inQuote = true;
310
+ }
311
+ else if (char === ',') {
312
+ result.push(current);
313
+ current = '';
314
+ }
315
+ else {
316
+ current += char;
317
+ }
318
+ }
319
+ }
320
+ result.push(current);
321
+ return result;
322
+ }
323
+ /**
324
+ * カラム配列からTaskRowを生成
325
+ *
326
+ * CSV列マッピング:
327
+ * 0: タスクID → id, sharp
328
+ * 1: 名称 → name
329
+ * 2: 担当 → assignee
330
+ * 3: 予定工数 → workload
331
+ * 4: 予定開始日 → startDate
332
+ * 5: 予定終了日 → endDate
333
+ * 6: 実績開始日 → actualStartDate
334
+ * 7: 実績終了日 → actualEndDate
335
+ * 8: 進捗率 → progressRate(0-1に正規化)
336
+ * 9: 稼働予定日数 → scheduledWorkDays
337
+ * 10: PV → pv
338
+ * 11: EV → ev
339
+ */
340
+ createTaskRowFromColumns(columns, sharp, taskId) {
341
+ const name = columns[1]?.trim() ?? '';
342
+ const assignee = columns[2]?.trim() || undefined;
343
+ const workload = this.parseNumber(columns[3]);
344
+ const startDate = this.parseDate(columns[4]);
345
+ const endDate = this.parseDate(columns[5]);
346
+ const actualStartDate = this.parseDate(columns[6]);
347
+ const actualEndDate = this.parseDate(columns[7]);
348
+ const progressRate = this.normalizeProgressRate(this.parseNumber(columns[8]));
349
+ const scheduledWorkDays = this.parseNumber(columns[9]);
350
+ const pv = this.parseNumber(columns[10]);
351
+ const ev = this.parseNumber(columns[11]);
352
+ // Phase 1では固定値
353
+ const level = 1; // 全て同一階層
354
+ const isLeaf = true;
355
+ const parentId = undefined;
356
+ // plotMapを自動生成(EVM計算に必要)
357
+ const plotMap = this.generatePlotMap(startDate, endDate);
358
+ return new TaskRow_1.TaskRow(sharp, taskId, level, name, assignee, workload, startDate, endDate, actualStartDate, actualEndDate, progressRate, scheduledWorkDays, pv, ev, undefined, // spi
359
+ undefined, // expectedProgressDate
360
+ undefined, // delayDays
361
+ undefined, // remarks
362
+ parentId, isLeaf, plotMap);
363
+ }
364
+ /**
365
+ * 文字列を数値にパース
366
+ */
367
+ parseNumber(value) {
368
+ if (!value || value.trim() === '') {
369
+ return undefined;
370
+ }
371
+ const num = parseFloat(value.trim());
372
+ return isNaN(num) ? undefined : num;
373
+ }
374
+ /**
375
+ * 日付文字列をパース
376
+ *
377
+ * BR-CSV-03: yyyy/MM/ddまたはyyyy-MM-ddを許容
378
+ */
379
+ parseDate(value) {
380
+ if (!value || value.trim() === '') {
381
+ return undefined;
382
+ }
383
+ const trimmed = value.trim();
384
+ // yyyy/MM/dd または yyyy-MM-dd
385
+ const match = trimmed.match(/^(\d{4})[/-](\d{1,2})[/-](\d{1,2})$/);
386
+ if (!match) {
387
+ this.logger.warn(`Invalid date format: "${trimmed}"`);
388
+ return undefined;
389
+ }
390
+ const year = parseInt(match[1], 10);
391
+ const month = parseInt(match[2], 10) - 1;
392
+ const day = parseInt(match[3], 10);
393
+ const date = new Date(year, month, day);
394
+ // 有効な日付かチェック
395
+ if (date.getFullYear() !== year ||
396
+ date.getMonth() !== month ||
397
+ date.getDate() !== day) {
398
+ this.logger.warn(`Invalid date: "${trimmed}"`);
399
+ return undefined;
400
+ }
401
+ return date;
402
+ }
403
+ /**
404
+ * 進捗率を0-1に正規化
405
+ *
406
+ * BR-CSV-01: 進捗率が1より大きい場合、100で割って0-1に正規化
407
+ */
408
+ normalizeProgressRate(value) {
409
+ if (value === undefined) {
410
+ return undefined;
411
+ }
412
+ // 1より大きい場合(例: 50, 100)は100で割る
413
+ if (value > 1) {
414
+ return value / 100;
415
+ }
416
+ return value;
417
+ }
418
+ /**
419
+ * 開始日〜終了日の稼働日をplotMapとして生成
420
+ *
421
+ * 土日を除外した稼働日のみをプロット
422
+ * 祝日はPhase 1では考慮しない(holidayDatasが空のため)
423
+ */
424
+ generatePlotMap(startDate, endDate) {
425
+ const plotMap = new Map();
426
+ if (!startDate || !endDate) {
427
+ return plotMap;
428
+ }
429
+ const current = new Date(startDate);
430
+ while (current <= endDate) {
431
+ const dayOfWeek = current.getDay();
432
+ // 土日以外をプロット(0=日曜, 6=土曜)
433
+ if (dayOfWeek !== 0 && dayOfWeek !== 6) {
434
+ plotMap.set((0, excel_csv_read_write_1.date2Sn)(current), true);
435
+ }
436
+ current.setDate(current.getDate() + 1);
437
+ }
438
+ return plotMap;
439
+ }
440
+ }
441
+ exports.CsvProjectCreator = CsvProjectCreator;
442
+ //# sourceMappingURL=CsvProjectCreator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CsvProjectCreator.js","sourceRoot":"","sources":["../../src/infrastructure/CsvProjectCreator.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export * from './CsvProjectCreator';
1
2
  export * from './ExcelBufferProjectCreator';
2
3
  export * from './ExcelProjectCreator';
3
4
  export * from './ExcelTaskRowCreator';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/infrastructure/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/infrastructure/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA"}
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./CsvProjectCreator"), exports);
17
18
  __exportStar(require("./ExcelBufferProjectCreator"), exports);
18
19
  __exportStar(require("./ExcelProjectCreator"), exports);
19
20
  __exportStar(require("./ExcelTaskRowCreator"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/infrastructure/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA2C;AAC3C,wDAAqC;AACrC,wDAAqC;AACrC,0DAAuC;AACvC,0DAAuC;AACvC,uDAAoC;AACpC,mDAAgC;AAChC,0BAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/infrastructure/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAmC;AACnC,8DAA2C;AAC3C,wDAAqC;AACrC,wDAAqC;AACrC,0DAAuC;AACvC,0DAAuC;AACvC,uDAAoC;AACpC,mDAAgC;AAChC,0BAA0B"}
@@ -1,2 +1,3 @@
1
+ #!/usr/bin/env node
1
2
  export {};
2
3
  //# sourceMappingURL=cli-pbevm-diff.d.ts.map
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env node
1
2
  "use strict";
2
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -1 +1 @@
1
- {"version":3,"file":"cli-pbevm-diff.js","sourceRoot":"","sources":["../../src/presentation/cli-pbevm-diff.ts"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,2CAAuC;AACvC,wCAAwC;AACxC,sDAAuD;AACvD,sEAAgE;AAChE,sCAA0C;AAE1C,mCAAmC;AAEnC,MAAM,IAAI,GAAG,GAAG,EAAE;IACd,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAA;IAEvC,MAAM,OAAO,GAAG,IAAI,oCAAmB,CAAC,IAAI,CAAC,CAAA;IAC7C,MAAM,WAAW,GAAG,IAAI,oCAAmB,CAAC,QAAQ,CAAC,CAAA;IACrD,MAAM,OAAO,GAAG,IAAI,uBAAc,EAAE,CAAA;IAEpC,IAAI,qCAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC;SAC9C,OAAO,EAAE;SACT,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,GAAG,EAAE;IACpB,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACpC,KAAK,CAAC,iCAAiC,CAAC;SACxC,OAAO,CAAC,qDAAqD,EAAE,EAAE,CAAC;SAClE,MAAM,CAAC,MAAM,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,YAAY;KACxB,CAAC;SACD,MAAM,CAAC,UAAU,EAAE;QAChB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,aAAa;KACzB,CAAC;SACD,IAAI,EAAE;SACN,SAAS,EAAE,CAAA,CAAC,SAAS;IAC1B,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AAED,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"cli-pbevm-diff.js","sourceRoot":"","sources":["../../src/presentation/cli-pbevm-diff.ts"],"names":[],"mappings":";;;;;;AACA,kDAAyB;AACzB,2CAAuC;AACvC,wCAAwC;AACxC,sDAAuD;AACvD,sEAAgE;AAChE,sCAA0C;AAE1C,mCAAmC;AAEnC,MAAM,IAAI,GAAG,GAAG,EAAE;IACd,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAA;IAEvC,MAAM,OAAO,GAAG,IAAI,oCAAmB,CAAC,IAAI,CAAC,CAAA;IAC7C,MAAM,WAAW,GAAG,IAAI,oCAAmB,CAAC,QAAQ,CAAC,CAAA;IACrD,MAAM,OAAO,GAAG,IAAI,uBAAc,EAAE,CAAA;IAEpC,IAAI,qCAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC;SAC9C,OAAO,EAAE;SACT,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,GAAG,EAAE;IACpB,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACpC,KAAK,CAAC,iCAAiC,CAAC;SACxC,OAAO,CAAC,qDAAqD,EAAE,EAAE,CAAC;SAClE,MAAM,CAAC,MAAM,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,YAAY;KACxB,CAAC;SACD,MAAM,CAAC,UAAU,EAAE;QAChB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,aAAa;KACzB,CAAC;SACD,IAAI,EAAE;SACN,SAAS,EAAE,CAAA,CAAC,SAAS;IAC1B,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AAED,IAAI,EAAE,CAAA"}
@@ -1,2 +1,3 @@
1
+ #!/usr/bin/env node
1
2
  export {};
2
3
  //# sourceMappingURL=cli-pbevm-show-project.d.ts.map
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env node
1
2
  "use strict";
2
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -1 +1 @@
1
- {"version":3,"file":"cli-pbevm-show-project.js","sourceRoot":"","sources":["../../src/presentation/cli-pbevm-show-project.ts"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,2CAAuC;AACvC,wCAAwC;AACxC,+EAA2E;AAC3E,sFAA+E;AAC/E,mFAA+E;AAE/E,mCAAmC;AAEnC,MAAM,IAAI,GAAG,GAAG,EAAE;IACd,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,CAAA;IAE7B,MAAM,OAAO,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,CAAA;IAC7C,MAAM,UAAU,GAAG,IAAI,6CAAqB,EAAE,CAAA;IAC9C,IAAI,oDAAuB,CAAC,OAAO,EAAE,UAAU,CAAC;SAC3C,OAAO,EAAE;SACT,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,GAAG,EAAE;IACpB,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACpC,KAAK,CAAC,yCAAyC,CAAC;SAChD,OAAO,CAAC,0CAA0C,EAAE,EAAE,CAAC;SACvD,MAAM,CAAC,MAAM,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,YAAY;KACxB,CAAC;QACF,sBAAsB;QACtB,sBAAsB;QACtB,uCAAuC;QACvC,2BAA2B;QAC3B,KAAK;SACJ,IAAI,EAAE;SACN,SAAS,EAAE,CAAA,CAAC,SAAS;IAC1B,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AAED,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"cli-pbevm-show-project.js","sourceRoot":"","sources":["../../src/presentation/cli-pbevm-show-project.ts"],"names":[],"mappings":";;;;;;AACA,kDAAyB;AACzB,2CAAuC;AACvC,wCAAwC;AACxC,+EAA2E;AAC3E,sFAA+E;AAC/E,mFAA+E;AAE/E,mCAAmC;AAEnC,MAAM,IAAI,GAAG,GAAG,EAAE;IACd,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,CAAA;IAE7B,MAAM,OAAO,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,CAAA;IAC7C,MAAM,UAAU,GAAG,IAAI,6CAAqB,EAAE,CAAA;IAC9C,IAAI,oDAAuB,CAAC,OAAO,EAAE,UAAU,CAAC;SAC3C,OAAO,EAAE;SACT,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,GAAG,EAAE;IACpB,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACpC,KAAK,CAAC,yCAAyC,CAAC;SAChD,OAAO,CAAC,0CAA0C,EAAE,EAAE,CAAC;SACvD,MAAM,CAAC,MAAM,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,YAAY;KACxB,CAAC;QACF,sBAAsB;QACtB,sBAAsB;QACtB,uCAAuC;QACvC,2BAA2B;QAC3B,KAAK;SACJ,IAAI,EAAE;SACN,SAAS,EAAE,CAAA,CAAC,SAAS;IAC1B,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AAED,IAAI,EAAE,CAAA"}
@@ -1,2 +1,3 @@
1
+ #!/usr/bin/env node
1
2
  export {};
2
3
  //# sourceMappingURL=cli-pbevm-show-pv.d.ts.map
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env node
1
2
  "use strict";
2
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -1 +1 @@
1
- {"version":3,"file":"cli-pbevm-show-pv.js","sourceRoot":"","sources":["../../src/presentation/cli-pbevm-show-pv.ts"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,2CAAuC;AACvC,sDAAuD;AACvD,4EAAqE;AACrE,sCAAmC;AACnC,sCAAqC;AAErC,MAAM,MAAM,GAAG,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAA;AAEhC,MAAM,IAAI,GAAG,GAAG,EAAE;IACd,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAA;IAEzD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,QAAQ,gBAAgB,CAAC,CAAA;IACvD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,MAAM,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAExE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;IAC5B,MAAM,CAAC,IAAI,CAAC,SAAS,IAAA,gBAAO,EAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,IAAA,gBAAO,EAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACtC,MAAM,CAAC,IAAI,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAA;IAEpC,MAAM,OAAO,GAAG,IAAI,oCAAmB,CAAC,IAAI,CAAC,CAAA;IAC7C,IAAI,0CAAkB,CAAC,OAAO,CAAC;SAC1B,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;SACrC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,GAAG,EAAE;IACpB,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACpC,KAAK,CAAC,oCAAoC,CAAC;SAC3C,OAAO,CACJ;kBACM,EACN,EAAE,CACL;SACA,MAAM,CAAC,MAAM,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,YAAY;KACxB,CAAC;SACD,MAAM,CAAC,UAAU,EAAE;QAChB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,YAAY;KACxB,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QACd,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,SAAS;KACzB,CAAC;SACD,MAAM,CAAC,UAAU,EAAE;QAChB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,UAAU;KAC1B,CAAC;SACD,IAAI,EAAE;SACN,SAAS,EAAE,CAAA,CAAC,SAAS;IAC1B,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AAED,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"cli-pbevm-show-pv.js","sourceRoot":"","sources":["../../src/presentation/cli-pbevm-show-pv.ts"],"names":[],"mappings":";;;;;;AACA,kDAAyB;AACzB,2CAAuC;AACvC,sDAAuD;AACvD,4EAAqE;AACrE,sCAAmC;AACnC,sCAAqC;AAErC,MAAM,MAAM,GAAG,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAA;AAEhC,MAAM,IAAI,GAAG,GAAG,EAAE;IACd,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAA;IAEzD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,QAAQ,gBAAgB,CAAC,CAAA;IACvD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,MAAM,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAExE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;IAC5B,MAAM,CAAC,IAAI,CAAC,SAAS,IAAA,gBAAO,EAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,IAAA,gBAAO,EAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACtC,MAAM,CAAC,IAAI,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAA;IAEpC,MAAM,OAAO,GAAG,IAAI,oCAAmB,CAAC,IAAI,CAAC,CAAA;IAC7C,IAAI,0CAAkB,CAAC,OAAO,CAAC;SAC1B,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;SACrC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,GAAG,EAAE;IACpB,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACpC,KAAK,CAAC,oCAAoC,CAAC;SAC3C,OAAO,CACJ;kBACM,EACN,EAAE,CACL;SACA,MAAM,CAAC,MAAM,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,YAAY;KACxB,CAAC;SACD,MAAM,CAAC,UAAU,EAAE;QAChB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,YAAY;KACxB,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QACd,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,SAAS;KACzB,CAAC;SACD,MAAM,CAAC,UAAU,EAAE;QAChB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,UAAU;KAC1B,CAAC;SACD,IAAI,EAAE;SACN,SAAS,EAAE,CAAA,CAAC,SAAS;IAC1B,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AAED,IAAI,EAAE,CAAA"}
package/jest.config.js ADDED
@@ -0,0 +1,26 @@
1
+ /** @type {import('ts-jest').JestConfigWithTsJest} */
2
+ module.exports = {
3
+ preset: 'ts-jest',
4
+ testEnvironment: 'node',
5
+ roots: ['<rootDir>/src'],
6
+ testMatch: ['**/__tests__/**/*.test.ts', '**/*.test.ts'],
7
+ testPathIgnorePatterns: [
8
+ '/node_modules/',
9
+ 'cli-shebang\\.test\\.ts$', // リリース検証用(リグレッションテスト対象外)
10
+ ],
11
+ moduleFileExtensions: ['ts', 'js', 'json'],
12
+ collectCoverageFrom: [
13
+ 'src/**/*.ts',
14
+ '!src/**/*.d.ts',
15
+ '!src/**/index.ts',
16
+ '!src/presentation/**', // CLIは除外
17
+ ],
18
+ coverageDirectory: 'coverage',
19
+ coverageReporters: [
20
+ 'text', // コンソール出力
21
+ 'text-summary', // サマリー出力
22
+ 'html', // HTMLレポート
23
+ 'lcov', // CI/CD用(Codecovなど)
24
+ ],
25
+ verbose: true,
26
+ }