evmtools-node 0.0.18 → 0.0.24

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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PbevmDiffUsecase = void 0;
3
+ exports.formatTaskDiffsForDisplay = exports.PbevmDiffUsecase = void 0;
4
4
  const excel_csv_read_write_1 = require("excel-csv-read-write");
5
5
  const common_1 = require("../common");
6
6
  class PbevmDiffUsecase {
@@ -45,7 +45,8 @@ class PbevmDiffUsecase {
45
45
  }
46
46
  if (taskDiffs) {
47
47
  console.log('タスクDiff');
48
- console.table(taskDiffs.filter((row) => row.hasDiff));
48
+ // currentTask, prevTask を除外して表示(TaskRowオブジェクト参照は表示不可のため)
49
+ console.table((0, exports.formatTaskDiffsForDisplay)(taskDiffs));
49
50
  (0, excel_csv_read_write_1.json2workbook)({
50
51
  instances: taskDiffs,
51
52
  workbook,
@@ -64,4 +65,16 @@ class PbevmDiffUsecase {
64
65
  }
65
66
  }
66
67
  exports.PbevmDiffUsecase = PbevmDiffUsecase;
68
+ /**
69
+ * TaskDiff配列から表示用オブジェクト配列を生成
70
+ * - hasDiff=true のもののみフィルタ
71
+ * - currentTask, prevTask プロパティを除外
72
+ *
73
+ * @param taskDiffs TaskDiff配列
74
+ * @returns 表示用オブジェクト配列(currentTask, prevTaskを除外)
75
+ */
76
+ const formatTaskDiffsForDisplay = (taskDiffs) => {
77
+ return taskDiffs.filter((row) => row.hasDiff).map(({ currentTask, prevTask, ...rest }) => rest);
78
+ };
79
+ exports.formatTaskDiffsForDisplay = formatTaskDiffsForDisplay;
67
80
  //# sourceMappingURL=pbevm-diff-usecase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pbevm-diff-usecase.js","sourceRoot":"","sources":["../../src/usecase/pbevm-diff-usecase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pbevm-diff-usecase.js","sourceRoot":"","sources":["../../src/usecase/pbevm-diff-usecase.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pbevm-show-pv-usecase.d.ts","sourceRoot":"","sources":["../../src/usecase/pbevm-show-pv-usecase.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAM5D,qBAAa,kBAAkB;IACf,OAAO,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc;IAE5C,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM;IAOvD,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE;CA6C1D"}
1
+ {"version":3,"file":"pbevm-show-pv-usecase.d.ts","sourceRoot":"","sources":["../../src/usecase/pbevm-show-pv-usecase.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAM5D,qBAAa,kBAAkB;IACf,OAAO,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc;IAE5C,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM;IAOvD,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE;CAgD1D"}
@@ -16,26 +16,35 @@ class PbevmShowPvUsecase {
16
16
  }
17
17
  async save(currentProject, taskRows) {
18
18
  const path = `${currentProject.name}-pv.xlsx`;
19
- const results = taskRows.map((taskRow) => {
20
- const {
21
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
22
- calculatePV,
23
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
24
- calculatePVs,
25
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
26
- plotMap,
27
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
28
- checkStartEndDateAndPlotMap, startDate, endDate, actualStartDate, actualEndDate, expectedProgressDate, ...rest // ココのデータだけが出力される
29
- } = taskRow;
30
- return {
31
- ...rest,
32
- 予定開始日: (0, common_1.dateStr)(startDate),
33
- 予定終了日: (0, common_1.dateStr)(endDate),
34
- 実績開始日: (0, common_1.dateStr)(actualStartDate),
35
- 実績終了日: (0, common_1.dateStr)(actualEndDate),
36
- 進捗応当日: (0, common_1.dateStr)(expectedProgressDate),
37
- };
38
- });
19
+ const baseDate = currentProject.baseDate;
20
+ // 表示用データに変換(内部プロパティを除外)
21
+ // Issue #72: logger, calculateSPI, calculateSV などを除去
22
+ // Issue #86: pvToday, pvTodayActual, remainingDays を追加
23
+ const results = taskRows.map((taskRow) => ({
24
+ sharp: taskRow.sharp,
25
+ id: taskRow.id,
26
+ level: taskRow.level,
27
+ name: taskRow.name,
28
+ assignee: taskRow.assignee,
29
+ workload: taskRow.workload,
30
+ 予定開始日: (0, common_1.dateStr)(taskRow.startDate),
31
+ 予定終了日: (0, common_1.dateStr)(taskRow.endDate),
32
+ 実績開始日: (0, common_1.dateStr)(taskRow.actualStartDate),
33
+ 実績終了日: (0, common_1.dateStr)(taskRow.actualEndDate),
34
+ progressRate: taskRow.progressRate,
35
+ scheduledWorkDays: taskRow.scheduledWorkDays,
36
+ pv: taskRow.pv,
37
+ ev: taskRow.ev,
38
+ spi: taskRow.spi,
39
+ 進捗応当日: (0, common_1.dateStr)(taskRow.expectedProgressDate),
40
+ delayDays: taskRow.delayDays,
41
+ remainingDays: taskRow.remainingDays(baseDate),
42
+ pvToday: taskRow.workloadPerDay,
43
+ pvTodayActual: taskRow.pvTodayActual(baseDate),
44
+ remarks: taskRow.remarks,
45
+ parentId: taskRow.parentId,
46
+ isLeaf: taskRow.isLeaf,
47
+ }));
39
48
  logger.info('pv出力');
40
49
  console.table(results);
41
50
  if (results.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"pbevm-show-pv-usecase.js","sourceRoot":"","sources":["../../src/usecase/pbevm-show-pv-usecase.ts"],"names":[],"mappings":";;;AAAA,+DAAiF;AAEjF,sCAAmC;AACnC,sCAAqC;AAErC,MAAM,MAAM,GAAG,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAA;AAEhC,MAAa,kBAAkB;IAC3B,YAAoB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAAG,CAAC;IAEtD,KAAK,CAAC,OAAO,CAAC,QAAc,EAAE,MAAY,EAAE,QAAiB;QACzD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAA;QAEzD,MAAM,OAAO,GAAc,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC1E,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,cAAuB,EAAE,QAAmB;QACnD,MAAM,IAAI,GAAG,GAAG,cAAc,CAAC,IAAI,UAAU,CAAA;QAE7C,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACrC,MAAM;YACF,6DAA6D;YAC7D,WAAW;YACX,6DAA6D;YAC7D,YAAY;YACZ,6DAA6D;YAC7D,OAAO;YACP,6DAA6D;YAC7D,2BAA2B,EAC3B,SAAS,EACT,OAAO,EACP,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,GAAG,IAAI,CAAC,iBAAiB;cAC5B,GAAG,OAAO,CAAA;YACX,OAAO;gBACH,GAAG,IAAI;gBACP,KAAK,EAAE,IAAA,gBAAO,EAAC,SAAS,CAAC;gBACzB,KAAK,EAAE,IAAA,gBAAO,EAAC,OAAO,CAAC;gBACvB,KAAK,EAAE,IAAA,gBAAO,EAAC,eAAe,CAAC;gBAC/B,KAAK,EAAE,IAAA,gBAAO,EAAC,aAAa,CAAC;gBAC7B,KAAK,EAAE,IAAA,gBAAO,EAAC,oBAAoB,CAAC;aACvC,CAAA;QACL,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACnB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAEtB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,MAAM,IAAA,qCAAc,GAAE,CAAA;YACvC,IAAA,oCAAa,EAAC;gBACV,SAAS,EAAE,OAAO;gBAClB,QAAQ;gBACR,SAAS,EAAE,IAAI;aAClB,CAAC,CAAA;YAEF,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YAC9B,MAAM,IAAA,kCAAW,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QACrC,CAAC;IACL,CAAC;CACJ;AAvDD,gDAuDC"}
1
+ {"version":3,"file":"pbevm-show-pv-usecase.js","sourceRoot":"","sources":["../../src/usecase/pbevm-show-pv-usecase.ts"],"names":[],"mappings":";;;AAAA,+DAAiF;AAEjF,sCAAmC;AACnC,sCAAqC;AAErC,MAAM,MAAM,GAAG,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAA;AAEhC,MAAa,kBAAkB;IAC3B,YAAoB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAAG,CAAC;IAEtD,KAAK,CAAC,OAAO,CAAC,QAAc,EAAE,MAAY,EAAE,QAAiB;QACzD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAA;QAEzD,MAAM,OAAO,GAAc,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC1E,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,cAAuB,EAAE,QAAmB;QACnD,MAAM,IAAI,GAAG,GAAG,cAAc,CAAC,IAAI,UAAU,CAAA;QAC7C,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAA;QAExC,wBAAwB;QACxB,qDAAqD;QACrD,uDAAuD;QACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACvC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE,IAAA,gBAAO,EAAC,OAAO,CAAC,SAAS,CAAC;YACjC,KAAK,EAAE,IAAA,gBAAO,EAAC,OAAO,CAAC,OAAO,CAAC;YAC/B,KAAK,EAAE,IAAA,gBAAO,EAAC,OAAO,CAAC,eAAe,CAAC;YACvC,KAAK,EAAE,IAAA,gBAAO,EAAC,OAAO,CAAC,aAAa,CAAC;YACrC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,IAAA,gBAAO,EAAC,OAAO,CAAC,oBAAoB,CAAC;YAC5C,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;YAC9C,OAAO,EAAE,OAAO,CAAC,cAAc;YAC/B,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;YAC9C,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC,CAAC,CAAA;QAEH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACnB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAEtB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,MAAM,IAAA,qCAAc,GAAE,CAAA;YACvC,IAAA,oCAAa,EAAC;gBACV,SAAS,EAAE,OAAO;gBAClB,QAAQ;gBACR,SAAS,EAAE,IAAI;aAClB,CAAC,CAAA;YAEF,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YAC9B,MAAM,IAAA,kCAAW,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QACrC,CAAC;IACL,CAAC;CACJ;AA1DD,gDA0DC"}
package/eslint.config.mjs CHANGED
@@ -1,25 +1,25 @@
1
- import eslint from '@eslint/js'
2
- import tseslint from 'typescript-eslint'
3
- import prettier from 'eslint-config-prettier'
4
-
5
- export default [
6
- {
7
- ignores: ['dist/**', 'eslint.config.mjs'],
8
- },
9
- eslint.configs.recommended,
10
- ...tseslint.configs.recommended,
11
- ...tseslint.configs.recommendedTypeChecked,
12
- {
13
- files: ['**/*.ts'],
14
- languageOptions: {
15
- parserOptions: {
16
- project: ['./tsconfig.json'],
17
- tsconfigRootDir: new URL('.', import.meta.url).pathname,
18
- },
19
- },
20
- rules: {
21
- // 任意: プロジェクトに合わせて調整可能
22
- },
23
- },
24
- prettier,
25
- ]
1
+ import eslint from '@eslint/js'
2
+ import tseslint from 'typescript-eslint'
3
+ import prettier from 'eslint-config-prettier'
4
+
5
+ export default [
6
+ {
7
+ ignores: ['dist/**', 'eslint.config.mjs'],
8
+ },
9
+ eslint.configs.recommended,
10
+ ...tseslint.configs.recommended,
11
+ ...tseslint.configs.recommendedTypeChecked,
12
+ {
13
+ files: ['**/*.ts'],
14
+ languageOptions: {
15
+ parserOptions: {
16
+ project: ['./tsconfig.json'],
17
+ tsconfigRootDir: new URL('.', import.meta.url).pathname,
18
+ },
19
+ },
20
+ rules: {
21
+ // 任意: プロジェクトに合わせて調整可能
22
+ },
23
+ },
24
+ prettier,
25
+ ]
package/jest.config.js CHANGED
@@ -1,26 +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
- }
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
+ }
package/package.json CHANGED
@@ -1,109 +1,109 @@
1
- {
2
- "name": "evmtools-node",
3
- "version": "0.0.18",
4
- "description": "このライブラリは、プライムブレインズ社で利用している「進捗管理ツール(Excel)」ファイルを読み込み、 プロジェクトの進捗状況や要員別の作業量を可視化するためのライブラリです。",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "exports": {
8
- "./common": {
9
- "types": "./dist/common/index.d.ts",
10
- "import": "./dist/common/index.js"
11
- },
12
- "./domain": {
13
- "types": "./dist/domain/index.d.ts",
14
- "import": "./dist/domain/index.js"
15
- },
16
- "./infrastructure": {
17
- "types": "./dist/infrastructure/index.d.ts",
18
- "import": "./dist/infrastructure/index.js"
19
- },
20
- "./presentation": {
21
- "types": "./dist/presentation/index.d.ts",
22
- "import": "./dist/presentation/index.js"
23
- },
24
- "./usecase": {
25
- "types": "./dist/usecase/index.d.ts",
26
- "import": "./dist/usecase/index.js"
27
- },
28
- "./logger": {
29
- "types": "./dist/logger.d.ts",
30
- "import": "./dist/logger.js"
31
- },
32
- "./project": {
33
- "types": "./dist/project/index.d.ts",
34
- "import": "./dist/project/index.js"
35
- },
36
- "./resource": {
37
- "types": "./dist/resource/index.d.ts",
38
- "import": "./dist/resource/index.js"
39
- }
40
- },
41
- "bin": {
42
- "pbevm-show-project": "./dist/presentation/cli-pbevm-show-project.js",
43
- "pbevm-diff": "./dist/presentation/cli-pbevm-diff.js",
44
- "pbevm-show-pv": "./dist/presentation/cli-pbevm-show-pv.js",
45
- "pbevm-show-resourceplan": "./dist/resource/presentation/cli-pbevm-show-resourceplan.js"
46
- },
47
- "scripts": {
48
- "test": "jest",
49
- "test:coverage": "jest --coverage",
50
- "lint": "eslint . --ext .ts",
51
- "lint:fix": "eslint . --ext .ts --fix",
52
- "format": "prettier --check 'src/**/*.ts'",
53
- "format:fix": "prettier --write 'src/**/*.ts'",
54
- "clean:modules": "rimraf node_modules pnpm-lock.yaml",
55
- "clean": "rimraf dist",
56
- "tsc": "tsc",
57
- "copy:assets": "cpx \"src/**/*.hbs\" dist",
58
- "build": "npm-run-all clean tsc copy:assets",
59
- "pack": "npm pack",
60
- "prepublishOnly": "npm run build",
61
- "pbevm-show-project": "ts-node ./src/presentation/cli-pbevm-show-project --path now.xlsm",
62
- "pbevm-diff": "ts-node ./src/presentation/cli-pbevm-diff --path now.xlsm --prevPath prev.xlsm",
63
- "pbevm-show-pv": "ts-node ./src/presentation/cli-pbevm-show-pv --path now.xlsm",
64
- "cli-test": "ts-node ./src/presentation/cli-test --excelPath now.xlsm",
65
- "pbevm-summary": "ts-node ./src/presentation/cli-pbevm-summary --path now.xlsm",
66
- "pbevm-show-resourceplan": "ts-node ./src/resource/presentation/cli-pbevm-show-resourceplan"
67
- },
68
- "repository": {
69
- "type": "git",
70
- "url": "git+https://github.com/masatomix/evmtools-node.git"
71
- },
72
- "keywords": [
73
- "typescript",
74
- "javascript"
75
- ],
76
- "author": "Masatomi KINO <masatomix@ki-no.org> (http://qiita.com/masatomix)",
77
- "license": "ISC",
78
- "dependencies": {
79
- "@tidyjs/tidy": "^2.5.2",
80
- "config": "^4.0.0",
81
- "excel-csv-read-write": "^0.2.6",
82
- "handlebars": "^4.7.8",
83
- "iconv-lite": "^0.7.1",
84
- "pino": "^9.7.0",
85
- "ts-node": "^10.9.2",
86
- "yargs": "^17.7.2"
87
- },
88
- "devDependencies": {
89
- "@eslint/js": "^9.28.0",
90
- "@types/config": "^3.3.5",
91
- "@types/iconv-lite": "^0.0.1",
92
- "@types/jest": "^30.0.0",
93
- "@types/node": "^22.15.21",
94
- "@types/xlsx-populate": "github:JanLoebel/types-xlsx-populate",
95
- "@types/yargs": "^17.0.33",
96
- "cpx": "^1.5.0",
97
- "eslint": "^9.28.0",
98
- "eslint-config-prettier": "^10.1.5",
99
- "eslint-plugin-import": "^2.31.0",
100
- "jest": "^30.2.0",
101
- "npm-run-all": "^4.1.5",
102
- "pino-pretty": "^13.0.0",
103
- "prettier": "^3.5.3",
104
- "rimraf": "^6.0.1",
105
- "ts-jest": "^29.4.6",
106
- "typescript": "^5.8.3",
107
- "typescript-eslint": "^8.33.1"
108
- }
109
- }
1
+ {
2
+ "name": "evmtools-node",
3
+ "version": "0.0.24",
4
+ "description": "このライブラリは、プライムブレインズ社で利用している「進捗管理ツール(Excel)」ファイルを読み込み、 プロジェクトの進捗状況や要員別の作業量を可視化するためのライブラリです。",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "exports": {
8
+ "./common": {
9
+ "types": "./dist/common/index.d.ts",
10
+ "import": "./dist/common/index.js"
11
+ },
12
+ "./domain": {
13
+ "types": "./dist/domain/index.d.ts",
14
+ "import": "./dist/domain/index.js"
15
+ },
16
+ "./infrastructure": {
17
+ "types": "./dist/infrastructure/index.d.ts",
18
+ "import": "./dist/infrastructure/index.js"
19
+ },
20
+ "./presentation": {
21
+ "types": "./dist/presentation/index.d.ts",
22
+ "import": "./dist/presentation/index.js"
23
+ },
24
+ "./usecase": {
25
+ "types": "./dist/usecase/index.d.ts",
26
+ "import": "./dist/usecase/index.js"
27
+ },
28
+ "./logger": {
29
+ "types": "./dist/logger.d.ts",
30
+ "import": "./dist/logger.js"
31
+ },
32
+ "./project": {
33
+ "types": "./dist/project/index.d.ts",
34
+ "import": "./dist/project/index.js"
35
+ },
36
+ "./resource": {
37
+ "types": "./dist/resource/index.d.ts",
38
+ "import": "./dist/resource/index.js"
39
+ }
40
+ },
41
+ "bin": {
42
+ "pbevm-show-project": "./dist/presentation/cli-pbevm-show-project.js",
43
+ "pbevm-diff": "./dist/presentation/cli-pbevm-diff.js",
44
+ "pbevm-show-pv": "./dist/presentation/cli-pbevm-show-pv.js",
45
+ "pbevm-show-resourceplan": "./dist/resource/presentation/cli-pbevm-show-resourceplan.js"
46
+ },
47
+ "scripts": {
48
+ "test": "jest",
49
+ "test:coverage": "jest --coverage",
50
+ "lint": "eslint . --ext .ts",
51
+ "lint:fix": "eslint . --ext .ts --fix",
52
+ "format": "prettier --check 'src/**/*.ts'",
53
+ "format:fix": "prettier --write 'src/**/*.ts'",
54
+ "clean:modules": "rimraf node_modules pnpm-lock.yaml",
55
+ "clean": "rimraf dist",
56
+ "tsc": "tsc",
57
+ "copy:assets": "cpx \"src/**/*.hbs\" dist",
58
+ "build": "npm-run-all clean tsc copy:assets",
59
+ "pack": "npm pack",
60
+ "prepublishOnly": "npm run build",
61
+ "pbevm-show-project": "ts-node ./src/presentation/cli-pbevm-show-project --path now.xlsm",
62
+ "pbevm-diff": "ts-node ./src/presentation/cli-pbevm-diff --path now.xlsm --prevPath prev.xlsm",
63
+ "pbevm-show-pv": "ts-node ./src/presentation/cli-pbevm-show-pv --path now.xlsm",
64
+ "cli-test": "ts-node ./src/presentation/cli-test --excelPath now.xlsm",
65
+ "pbevm-summary": "ts-node ./src/presentation/cli-pbevm-summary --path now.xlsm",
66
+ "pbevm-show-resourceplan": "ts-node ./src/resource/presentation/cli-pbevm-show-resourceplan"
67
+ },
68
+ "repository": {
69
+ "type": "git",
70
+ "url": "git+https://github.com/masatomix/evmtools-node.git"
71
+ },
72
+ "keywords": [
73
+ "typescript",
74
+ "javascript"
75
+ ],
76
+ "author": "Masatomi KINO <masatomix@ki-no.org> (http://qiita.com/masatomix)",
77
+ "license": "ISC",
78
+ "dependencies": {
79
+ "@tidyjs/tidy": "^2.5.2",
80
+ "config": "^4.0.0",
81
+ "excel-csv-read-write": "^0.2.6",
82
+ "handlebars": "^4.7.8",
83
+ "iconv-lite": "^0.7.1",
84
+ "pino": "^9.7.0",
85
+ "ts-node": "^10.9.2",
86
+ "yargs": "^17.7.2"
87
+ },
88
+ "devDependencies": {
89
+ "@eslint/js": "^9.28.0",
90
+ "@types/config": "^3.3.5",
91
+ "@types/iconv-lite": "^0.0.1",
92
+ "@types/jest": "^30.0.0",
93
+ "@types/node": "^22.15.21",
94
+ "@types/xlsx-populate": "github:JanLoebel/types-xlsx-populate",
95
+ "@types/yargs": "^17.0.33",
96
+ "cpx": "^1.5.0",
97
+ "eslint": "^9.28.0",
98
+ "eslint-config-prettier": "^10.1.5",
99
+ "eslint-plugin-import": "^2.31.0",
100
+ "jest": "^30.2.0",
101
+ "npm-run-all": "^4.1.5",
102
+ "pino-pretty": "^13.0.0",
103
+ "prettier": "^3.5.3",
104
+ "rimraf": "^6.0.1",
105
+ "ts-jest": "^29.4.6",
106
+ "typescript": "^5.8.3",
107
+ "typescript-eslint": "^8.33.1"
108
+ }
109
+ }
package/class.pu DELETED
@@ -1,62 +0,0 @@
1
- @startuml
2
-
3
- class Main
4
-
5
- package domain{
6
-
7
- class TaskRow{
8
- ...TaskRowDto
9
- calculatePV(baseDate: Date): number
10
- calculatePVs(baseDate: Date): number
11
- }
12
- class TaskNode{
13
- ...taskRow
14
- children: TaskNode[]
15
- }
16
-
17
- interface TaskRowCreator{
18
- createRowData():TaskRow
19
- }
20
-
21
- class TaskService{
22
- buildTaskTree(TaskRow[]): TaskNode[]
23
- }
24
-
25
- TaskRowCreator .> TaskRow :<<create>>
26
- TaskNode <. TaskService :<<create>>
27
- TaskService .> TaskRow :<<use>>
28
- }
29
-
30
- package infra{
31
- class TaskRowDto{
32
- sharp
33
- id
34
- name
35
- parentId
36
- isLeaf
37
- plotMap
38
- }
39
- class TaskNodeDto{
40
- ...taskRowDto
41
- children: TaskNodeDto[]
42
- }
43
-
44
- class ExcelTaskRowCreator{
45
-
46
- }
47
-
48
- class TaskRowFactory{
49
- fromDto(dto[]): TaskRow[]
50
- toDto(entity[]): TaskRowDto[]
51
- }
52
-
53
- TaskRowCreator<|.. ExcelTaskRowCreator
54
- TaskRow<.. ExcelTaskRowCreator: <<create>>
55
- ExcelTaskRowCreator .> TaskRowDto: <<use>>
56
- TaskRowFactory <..ExcelTaskRowCreator
57
- }
58
-
59
- TaskRowCreator <-- Main
60
- TaskService <-- Main
61
-
62
- @enduml