-
Notifications
You must be signed in to change notification settings - Fork 0
Description
対象パッケージ
@kintone/cli-kintone
なぜ
概要
customize apply コマンドに、マニフェスト内のファイルパスを解決する際の
基準ディレクトリを指定できる --base-path(または --root-dir)オプションの
追加をご検討いただきたいです。
背景
従来ツール kintone-customize-uploader では、マニフェスト内のファイルパスを
カレントワーキングディレクトリ(CWD)、通常はプロジェクトルートを基準に解決していました。
一方、cli-kintone ではマニフェストファイルの配置場所を基準にパスを解決します。
この動作の違いにより、kintone-customize-uploader から cli-kintone へ移行する際に
既存プロジェクトが動作しなくなります。
具体的なユースケース
実際のプロジェクトでは、複数のアプリで共通して使用するライブラリ(jQuery、SweetAlert2 等)を
src/_common/_lib/ のような共通ディレクトリで一元管理するケースが多くあります。
project-root/
├── src/
│ ├── _common/
│ │ ├── _lib/ ← 複数アプリで共有するライブラリ
│ │ │ ├── jQuery/
│ │ │ └── sweetAlert2/
│ │ ├── dev/
│ │ │ └── dest/
│ │ │ └── appA-customize-manifest.json ← マニフェストはここ
│ │ └── stg/
│ └── appA/
│ └── desktop/js/
このような構成では、マニフェスト内のパスは自然とプロジェクトルート基準
(src/_common/_lib/jQuery/js/jquery.min.js)になります。
cli-kintone がマニフェストの場所基準でパスを解決する現在の仕様では、
この一般的なプロジェクト構成が機能しません。
何を
提案
パス解決の基準ディレクトリを上書きできる --base-path オプションを追加してほしいです。
cli-kintone customize apply \
--input src/_common/dev/dest/manifest.json \
--base-path . \
--app 123 \
--base-url https://example.cybozu.com \
--username admin \
--password password現状の回避策
- マニフェストファイルをプロジェクトルートに移動する(ルートが散らかる)
- 全マニフェストのパスをマニフェスト配置場所からの相対パスに書き換える
(kintone-customize-uploaderとの互換性が失われる)
いずれの回避策もコストが高く、保守性を損ないます。
期待する動作
--base-path . を指定した場合、マニフェスト内のファイルパスがマニフェストファイルの
場所ではなく、指定したディレクトリを基準に解決されること。