Skip to content

[Feature Request] customize apply コマンドにパス解決の基準ディレクトリを指定するオプションの追加 #52

@SNC-Nagoshi

Description

@SNC-Nagoshi

対象パッケージ

@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 . を指定した場合、マニフェスト内のファイルパスがマニフェストファイルの
場所ではなく、指定したディレクトリを基準に解決されること。

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions