Copy Utilities Generator
npm install copy-utils-generatorsh
npm install copy-utils-generator
npm install --save-dev pino-pretty (オプション。Logの出力でpino-prettyを使いたい場合のみ。)
`
コマンド
MapStructのコードを自動生成します。
`console
$ npx generate-mapping --help
Options:
--version Show version number [boolean]
--excelPath Excel file Path [string] [default: "./mappingdata.xlsx"]
--output Output directory [string] [default: "./output"]
--help Show help [boolean]
$
`
例:
`console
$ npx generate-mapping --src mappingdata.xlsx --output output/src/main/java/
`
Java Beansも自動生成します。
`console
$ npx generate-class --help
Options:
--version Show version number [boolean]
--excelPath Excel file Path [string] [default: "./classdata.xlsx"]
--output Output directory [string] [default: "./output"]
--help Show help [boolean]
`
例:
`console
$ npx generate-class --src classdata.xlsx --output output/src/main/java/
`
Author
👤 Masatomi KINO
* Github: @masatomix
🤝 Contributing
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Show your support
Give a ⭐️ if this project helped you!
改訂履歴
- 0.0.15 ヘッダ行の前後スペースを除去するようにした
- 0.0.14 VOなオブジェクトをTargetにした場合は、xxUpdateは正しく動作しないので(コンパイルエラー)、ExcelファイルにupdateMethod 列(TRUE/FALSE)を追加し、出力を制御できるようにした。
- 0.0.13 設定ファイルに AllArgsConstructor,Builder の列を追加した。
- デフォルトはTRUEにしてあるので、今までの設定ファイルはそのまま同じ結果になる
- TRUE/FALSEを設定する事で、それぞれのアノテーションの出力を制御。
- ただしBuilderはAllArgsConstructor に依存しているので、Builderが出力される場合はAllArgsConstructorも出力される。
- 0.0.12 他のライブラリからimportして各クラスをつかえるように。
- ExcelデータをArrayBufferからもらえるようにした(classDefinitionFactoryExceBufferImpl )。
- テンプレートを文字列で渡すように仕様変更。ほか。
- 0.0.10 ESLintとPrettierによるコードフォーマットを実施(ロジックは変更なし)
- 0.0.9 ログまわりを整理して、利用者が設定変更できるようにした
- 0.0.8 MapStructコード生成のテンプレートで、<> などがサニタイズされていたバグを修正
- 0.0.7 クラス生成のテンプレートで、<> などがサニタイズされていたバグを修正
- 0.0.6 初回リリース
🔧 Logger 設定のカスタマイズ
このライブラリは pino を使ってログを出力しています。
ログ出力レベルやフォーマットを変更したい場合は、config/default.json を作成して設定を記述してください。
`json
{
"copy-utils-generator-logger": {
"level": "warn",
"moduleLogLevels": {
"groupMappings": "info",
"FileClassRepository": "info"
},
"transport": {
"target": "pino-pretty",
"options": {
"translateTime": "SYS:standard",
"ignore": "id,hostname",
"levelFirst": true
}
}
}
}
`
`
"level": "warn", // 全体のログレベルを指定
"moduleLogLevels": // ソースごとにlevelを変えたい場合、この中に記述
"transport": // pino のtransport設定などを記述
"target": "pino-pretty", // この場合は npm install --save-dev pino-pretty すること
``