From 402c6be95ad8f533b0ecb681bca2e74956e072c9 Mon Sep 17 00:00:00 2001 From: Niklan Date: Sun, 8 Mar 2026 20:14:51 +0500 Subject: [PATCH] refactor(composer): replace scaffold .keep files and post-install symlink with composer-directories plugin --- composer.json | 22 +++++++++--------- composer.lock | 62 +++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 72 insertions(+), 12 deletions(-) diff --git a/composer.json b/composer.json index b220dd4b..9a66ee36 100644 --- a/composer.json +++ b/composer.json @@ -33,6 +33,7 @@ "drupal/core-composer-scaffold": "~11.3.0", "drupal/core-recommended": "~11.3.0", "drush/drush": "^13", + "niklan/composer-directories": "^1.0@alpha", "php": ">=8.4" }, "require-dev": { @@ -47,11 +48,6 @@ }, "minimum-stability": "dev", "prefer-stable": true, - "scripts": { - "post-install-cmd": [ - "ln -nfs ../../../var/files/public web/sites/default/files" - ] - }, "config": { "sort-packages": true, "allow-plugins": { @@ -60,6 +56,7 @@ "dealerdirect/phpcodesniffer-composer-installer": true, "drupal/core-composer-scaffold": true, "drupal/core-project-message": true, + "niklan/composer-directories": true, "oomphinc/composer-installers-extender": true, "php-http/discovery": true, "phpstan/extension-installer": true, @@ -67,6 +64,16 @@ } }, "extra": { + "ensure-directories": [ + "var/files/private", + "var/files/private/translations", + "var/files/public", + "var/files/temporary", + "var/log" + ], + "symlinks": { + "var/files/public": "web/sites/default/files" + }, "drupal-scaffold": { "allowed-packages": [ "app/project" @@ -85,11 +92,6 @@ "overwrite": false }, "[project-root]/recipes/README.txt": false, - "[project-root]/var/files/private/.keep": "assets/scaffold/.keep", - "[project-root]/var/files/private/translations/.keep": "assets/scaffold/.keep", - "[project-root]/var/files/public/.keep": "assets/scaffold/.keep", - "[project-root]/var/files/temporary/.keep": "assets/scaffold/.keep", - "[project-root]/var/log/.keep": "assets/scaffold/.keep", "[web-root]/robots.txt": { "append": "assets/scaffold/robots-txt-additions.txt" }, diff --git a/composer.lock b/composer.lock index ca2c4420..91d58e93 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "eabd61fc95ac2d5b2aed961014178048", + "content-hash": "a69827c63de49480cc8d4da60ca1a044", "packages": [ { "name": "app-asset/alpinejs", @@ -4949,6 +4949,63 @@ }, "time": "2025-12-06T11:56:16+00:00" }, + { + "name": "niklan/composer-directories", + "version": "1.0.0-alpha4", + "source": { + "type": "git", + "url": "https://github.com/Niklan/composer-directories.git", + "reference": "85ab5f4b24d3415832571f7f9a84cc2d660f1e32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Niklan/composer-directories/zipball/85ab5f4b24d3415832571f7f9a84cc2d660f1e32", + "reference": "85ab5f4b24d3415832571f7f9a84cc2d660f1e32", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^2.0", + "php": ">=8.2" + }, + "require-dev": { + "composer/composer": "^2.0", + "phpstan/phpstan": "^2.0", + "phpunit/phpunit": "^11.0", + "slevomat/coding-standard": "*", + "squizlabs/php_codesniffer": "^3.0" + }, + "type": "composer-plugin", + "extra": { + "class": "Niklan\\ComposerDirectories\\DirectoriesPlugin" + }, + "autoload": { + "psr-4": { + "Niklan\\ComposerDirectories\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nikita Malyshev", + "homepage": "https://niklan.net" + } + ], + "description": "Composer plugin that automatically creates directories defined in your composer.json.", + "keywords": [ + "composer-plugin", + "directories", + "ensure-directories", + "mkdir" + ], + "support": { + "issues": "https://github.com/Niklan/composer-directories/issues", + "source": "https://github.com/Niklan/composer-directories/tree/1.0.0-alpha4" + }, + "time": "2026-03-05T08:39:49+00:00" + }, { "name": "nutgram/hydrator", "version": "7.0.2", @@ -15260,7 +15317,8 @@ "stability-flags": { "app/dev": 20, "app/main": 20, - "chi-teck/drupal-coder-extension": 15 + "chi-teck/drupal-coder-extension": 15, + "niklan/composer-directories": 15 }, "prefer-stable": true, "prefer-lowest": false,