Drupal composerプロジェクトテンプレートに対して drupal/recommended-project を使用して新しいプロジェクトを開始しています。私が指摘した違いの1つは、新しいモジュールまたはテーマをインストールするだけでも、Drupalスキャフォールドツールが毎回起動することです。
この場合、settings.phpに関する書き込み許可の警告が表示されます。また、.htaccessやrobots.txtの置き換えなど、他の懸念があります。
私はいくつかのドキュメントを読んで、これをcomposer.jsonファイルに追加しました:
"drupal-scaffold": {
"locations": {
"web-root": "docroot/"
},
"file-mapping": {
"[web-root]/sites/default/settings.php": false,
"[web-root]/.htaccess": {
"mode": "replace",
"path": "assets/drupal/.htaccess"
}
}
},
これにより、settings.phpが変更されるのを防ぎ、.htaccessファイルをDrupalから変更したファイルに置き換えます。ここに表示される欠点は、.htaccessにセキュリティの変更があった場合、手動で差分を作成し、カスタムの書き換えルールを元に戻す必要があることです。
これはdrupal-scaffoldを使用する適切な方法ですか?
https://www.drupal.org/docs/develop/using-composer/using-drupals-composer-scaffold#toc_4 に記載されているパッチ方法を使用しています
例えば:
"name": "my/project",
...
"scripts": {
"post-drupal-scaffold-cmd": [
"cd docroot && patch -p1 <../patches/htaccess-ssl.patch"
]
}
次に、コアファイルが変更されると、正しくマージされるか、パッチが失敗し、composerコマンドに表示され、パッチに関連する変更を加えることができます