Browse Source

feat(dev-tools): Mise en place phpcs+phpstan (#4614)

Co-authored-by: JamesRezo <james@rezo.net>
Reviewed-on: #4614
Co-authored-by: JamesRezo <jamesrezo@noreply.git.spip.net>
Co-committed-by: JamesRezo <jamesrezo@noreply.git.spip.net>
master
JamesRezo 3 months ago
parent
commit
6b085c7076
  1. 7
      .gitignore
  2. 7
      composer.json
  3. 28
      inc/aide.php
  4. 14
      phpcs.xml.dist
  5. 57
      phpstan-baseline.neon
  6. 11
      phpstan.neon.dist

7
.gitignore

@ -0,0 +1,7 @@
/vendor/
/composer.phar
/composer.lock
/phpcs.xml
/phpstan.neon
/.php_cs.cache
/.php_cs.txt

7
composer.json

@ -0,0 +1,7 @@
{
"require-dev": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.1",
"spip/coding-standards": "^1.2",
"phpstan/phpstan": "^0.12.98"
}
}

28
inc/aide.php

@ -35,12 +35,12 @@ include_spip('inc/filtres');
/**
* Déclaration de l'index d'aide
*/
function aide_index() : array {
function aide_index(): array {
static $index = null;
if ($index === null) {
$index = [];
$index['raccourcis'] = [
'resume', 'simple', 'lien', 'note', 'citation',
'resume', 'simple', 'lien', 'note', 'citation',
'tableau', 'liste', 'glossaire', 'ancre', 'code'
];
$index = pipeline('aide_index', $index);
@ -51,7 +51,7 @@ function aide_index() : array {
/**
* Quelques mappages d'alias historiques <= SPIP 4
*/
function aide_index_alias_historiques() : array {
function aide_index_alias_historiques(): array {
return [
'text_area' => 'raccourcis',
'chapo' => 'raccourcis',
@ -65,17 +65,17 @@ function aide_index_alias_historiques() : array {
* @uses aider_icone()
*
* @param string $aide
* clé d'identification du groupe d'aide souhaité. Peut indiquer une entrée spécifique.
* clé d'identification du groupe d'aide souhaité. Peut indiquer une entrée spécifique.
* Tel que 'raccourcis' ou 'raccourcis/liens'
* @return string
* icone et lien…
* icone et lien…
* vide si on ne trouve pas le groupe d'aide demandé.
**/
function inc_aide_dist($aide = '') : string {
function inc_aide_dist($aide = ''): string {
$index = aide_index();
if (!$aide) {
// pour le moment rien sur entrée vide...
return "";
return '';
}
$alias = aide_index_alias_historiques();
@ -87,7 +87,7 @@ function inc_aide_dist($aide = '') : string {
$groupe = array_shift($aide);
$entree = $aide ? reset($aide) : '';
if (!isset($index[$groupe])) {
return "";
return '';
}
$url = aide_generer_url($groupe, $entree);
@ -96,7 +96,7 @@ function inc_aide_dist($aide = '') : string {
}
/** Génère l'url d'une entrée d'aide */
function aide_generer_url(string $groupe, ?string $entree = null) : string {
function aide_generer_url(string $groupe, ?string $entree = null): string {
$url = generer_url_ecrire('aide');
$url = parametre_url($url, 'aide', $groupe, '&');
if ($entree) {
@ -140,7 +140,7 @@ function aider_icone($url, $clic = '') {
// Affichage du menu de gauche avec analyse de la section demandee
function aide_data(?string $groupe = null) : array {
function aide_data(?string $groupe = null): array {
static $menu = [];
if (!isset($menu[$groupe])) {
include_spip('inc/aide');
@ -185,7 +185,7 @@ function aide_data(?string $groupe = null) : array {
/**
* Retrouve le contenu d'une aide demandée
*/
function aide_contenu(string $groupe, string $entree) : string {
function aide_contenu(string $groupe, string $entree): string {
$langues = aide_langues();
foreach ($langues as $lang) {
$aide_entree = find_in_path("aide/$lang/$groupe/$entree.spip");
@ -200,10 +200,10 @@ function aide_contenu(string $groupe, string $entree) : string {
/**
* Retourne la liste des langues dans laquelle une aide est cherchée
* On part par défaut de spip_lang
*
*
* pt_br => pt => langue_du_site => langue_par_defaut => fr
*/
function aide_langues($lang = null) : array {
function aide_langues($lang = null): array {
if ($lang === null) {
$lang = $GLOBALS['spip_lang'];
}
@ -225,4 +225,4 @@ function aide_langues($lang = null) : array {
$langues[$lang] = $_langues;
}
return $langues[$lang];
}
}

14
phpcs.xml.dist

@ -0,0 +1,14 @@
<?xml version="1.0"?>
<ruleset>
<file>.</file>
<exclude-pattern>vendor/*</exclude-pattern>
<exclude-pattern>lang/*</exclude-pattern>
<rule ref="SPIP41"/>
<config name="ignore_warnings_on_exit" value="1"/>
<arg name="cache" value=".php_cs.cache"/>
<arg name="report-full" value=".php_cs.txt"/>
<arg name="report-summary"/>
<arg value="s"/>
</ruleset>

57
phpstan-baseline.neon

@ -0,0 +1,57 @@
parameters:
ignoreErrors:
-
message: "#^Function _T not found\\.$#"
count: 6
path: inc/aide.php
-
message: "#^Function aide_lang_dir not found\\.$#"
count: 1
path: inc/aide.php
-
message: "#^Function find_in_path not found\\.$#"
count: 1
path: inc/aide.php
-
message: "#^Function generer_url_ecrire not found\\.$#"
count: 1
path: inc/aide.php
-
message: "#^Function http_img_pack not found\\.$#"
count: 1
path: inc/aide.php
-
message: "#^Function include_spip not found\\.$#"
count: 3
path: inc/aide.php
-
message: "#^Function lire_fichier not found\\.$#"
count: 1
path: inc/aide.php
-
message: "#^Function parametre_url not found\\.$#"
count: 2
path: inc/aide.php
-
message: "#^Function pipeline not found\\.$#"
count: 1
path: inc/aide.php
-
message: "#^Undefined variable\\: \\$content$#"
count: 2
path: inc/aide.php
-
message: "#^Function include_spip not found\\.$#"
count: 1
path: prive/squelettes/contenu/aide_fonctions.php

11
phpstan.neon.dist

@ -0,0 +1,11 @@
includes:
- phpstan-baseline.neon
parameters:
paths:
- .
excludePaths:
analyseAndScan:
- vendor
- lang
level: 0
Loading…
Cancel
Save