composer.commented.json 4.45 KB
# (EP20210125) : IMPORTANT

# Ce fichier est la version COMMENTÉE du fichier composer.json (avec des lignes commençant par '#')
# Il n'est pas utilisable à la place de composer.json
# mais sert juste de référence AVEC COMMENTAIRES EXPLICATIFS.
# Normalement, il suffit d'enlever les lignes commençant par '#' pour avoir un fichier json exploitable
# DONC => Mettre a jour ce fichier en meme temps que composer.json (les garder synchronisés)

# Ce fichier a été généré AUTOMATIQUEMENT par CakePhp lors de la création d'une première application avec :
# php composer.phar create-project --prefer-dist cakephp/app:3.7 labinventnew
# Cette instruction crée un dossier labinventnew qui contient tous les fichiers et dossiers de l'appli, y-compris ce fichier composer.json
# On l'a récupéré tel quel et on lui a ajouté les autres plugins dont on a besoin (phpqrcode, dompdf, boostrap-ui...)

{
    "name": "cakephp/app",
    "description": "CakePHP skeleton app",
    "homepage": "https://cakephp.org",
    "type": "project",
    "license": "MIT",
    
    "require": {

        "php": ">=5.6",
        # Utiliser "^3.7" pour avoir la dernière version 3.x de Cakephp
        "cakephp/cakephp": "3.7.*",
        "cakephp/migrations": "^2.0.0",
        "cakephp/plugin-installer": "^1.0",
        "mobiledetect/mobiledetectlib": "2.*",

        # (EP) PLUGINS AJOUTÉS pour LabInvent
		# - YAML (since 31/8/21)
		# https://awesomelists.net/181-CakePHP/4499-Miscellaneous/21572-guemidiborhane-yaml-config
  		"chobo1210/Yaml" : "dev-master"
		# bootstrap, depuis la stagiaire Jeanne du CRAL pour rendre le site web responsive
		"friendsofcake/bootstrap-ui" : ">=1.4",
		# - QrCode
		"aferrandini/phpqrcode" : "*",
		# - Pour pdf :
		# -- plus récent
		"daoandco/cakephp-dompdf" : ">=1.2",
		# -- ancien (fpdf)
		"setasign/fpdf" : "*",
    },
    
    "require-dev": {
        "cakephp/bake": "^1.9.0",
        "cakephp/cakephp-codesniffer": "^3.0",
        "cakephp/debug_kit": "^3.17.0",
        "josegonzalez/dotenv": "3.*",
        "phpunit/phpunit": "^5|^6",
        "psy/psysh": "@stable"
        # Avant, on avait aussi cette ligne, toujours utile ???
       	#"bamarni/composer-bin-plugin" : ">=1.2"
    },
    
    "suggest": {
        "markstory/asset_compress": "An asset compression plugin which provides file concatenation and a flexible filter system for preprocessing and minification.",
        "dereuromark/cakephp-ide-helper": "After baking your code, this keeps your annotations in sync with the code evolving from there on for maximum IDE and PHPStan compatibility.",
        # Avant, on avait aussi ça, donc j'ai gardé
   		"phpunit/phpunit" : "Allows automated tests to be run without system-wide install.",
		"cakephp/cakephp-codesniffer" : "Allows to check the code against the coding standards used in CakePHP."        
    },
    
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        },
        # (EP) Ajouté pour plugin fpdf
		"files" : [
			"vendor/setasign/fpdf/fpdf.php"
		]        
    },
    
    "autoload-dev": {
        "psr-4": {
            "App\\Test\\": "tests/",
            "Cake\\Test\\": "vendor/cakephp/cakephp/tests/"
            # Avant, on avait ./vendor :
			#"Cake\\Test\\" : "./vendor/cakephp/cakephp/tests"            
        }
    },
    
    "scripts": {
        "post-install-cmd": "App\\Console\\Installer::postInstall",
        "post-create-project-cmd": "App\\Console\\Installer::postInstall",
        # (EP 20210125) Déconseillé par composer avec message d'erreur suivant :
		# The CakePHP plugin installer v1.3+ no longer requires the                  
     	# "post-autoload-dump" hook. Please update your app's composer.json
     	# => Donc, on décommente cette ligne :        
        #"post-autoload-dump": "Cake\\Composer\\Installer\\PluginInstaller::postAutoloadDump",
        # (EP) Tout ça est nouveau (since cakephp 3.7 ?) :
        "check": [
            "@test",
            "@cs-check"
        ],
        "cs-check": "phpcs --colors -p --standard=vendor/cakephp/cakephp-codesniffer/CakePHP src/ tests/",
        "cs-fix": "phpcbf --colors --standard=vendor/cakephp/cakephp-codesniffer/CakePHP src/ tests/",
        "test": "phpunit --colors=always"
    },
    
    "prefer-stable": true,
    
    # (EP) avant, on avait aussi cette ligne :
    "minimum-stability" : "stable",
    
    # (EP) Ca, c'est nouveau : Ca doit etre cette instruction qui remet les packages automatiquement en ordre alpha
    "config": {
        "sort-packages": true
    }
}