Salesforce DXのアプリ開発を試してみました。開発者ガイドが用意されているのでこちらを参照。
CLIの環境構築とエディタについてはこちら。
デスクトップにappフォルダを作成してここで試します。
Salesforce DX プロジェクトの作成
myworkは任意のプロジェクト名です。
$ sfdx force:project:create --projectname mywork
ディレクトリの指定をする場合はこちら。
sfdx force:project:create --projectname mywork --defaultpackagedir myapp
これでappフォルダ内にmyworkプロジェクトが作成されました。VS Codeにドラッグ&ドロップするとエディタで表示できます。
configフォルダにSalesforce DXの環境ファイルが用意されています。DevHub組織未ログインでも作成されました。(※事前にやった過去ログインの設定情報削除されていれば...)
README.mdファイルも雛形が作成されています。
forceignoreというファイルも作成されました。gitignoreと同じ効果だと思います。
sfdx-project.jsonも設定ファイルです。API名とか指定できるようでした。
開発環境にログイン
$ sfdx force:org:open -u <登録したい組織の別名>
下記コマンドで登録されていることを確認できます。
$ sfdx force:org:list
ユーザ名の登録
ローカル環境でのみ利用できる開発者ユーザ名を登録します。
$ sfdx force:config:set defaultusername=<ユーザ名>
実行すると.sfdxフォルダにsfdx-config.jsonが生成されます。
package.xmlの準備
README.mdファイルと同じ階層に用意します。
<?xml version="1.0" encoding="UTF-8"?> <Package xmlns="http://soap.sforce.com/2006/04/metadata"> <types> <members>*</members> <name>ApexClass</name> </types> <types> <members>*</members> <name>ApexComponent</name> </types> <types> <members>*</members> <name>ApexPage</name> </types> <types> <members>*</members> <name>ApexTrigger</name> </types> <types> <members>*</members> <name>StaticResource</name> </types> <version>41.0</version> </Package>
ソースコードのダウンロード
下記のコマンドでソースコードをダウンロードします。
$ sfdx force:mdapi:retrieve -r ./mdapipkg -u <ユーザ名またはエイリアス> -k ./package.xml
mdapipkgフォルダにZipファイルがダウンロードされます。それを解答するとソースコード一式を確認できます。
このあと下記コマンドでDX用に変換します。
$ sfdx force:mdapi:convert --rootdir ./mdapipkg/unpackaged
これでmainフォルダ内にソースコードをダウンロードできました。
ここまではうまく行きましたがソースコードのデプロイや最新版の取得はやはりDXの機能でDevHubとスクラッチ組織で実行が必要になります。DE組織での開発はJSforceコマンドをつかった方が良さそうです。
・・・MavensMateになれているのでコマンドで開発していける気がしなくなってきました。