evmtools-node 0.0.19 → 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.
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.19",
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