`Preset.edit().addAfter()` ne fonctionne pas comme attendu
mgkprod opened this issue · 4 comments
Le contenu n'est pas trouvé avec une recherche par regex
Lines 33 to 47 in 0930ac7
Mais également, lors d'une recherche par string
Lines 23 to 31 in 0930ac7
Impacts :
https://github.com/mgkprod/presets/blob/main/config/preset.js#L24
https://github.com/mgkprod/presets/blob/main/config/preset.js#L24
https://github.com/mgkprod/presets/blob/main/version/preset.js#L6
https://github.com/mgkprod/presets/blob/main/version/preset.js#L16
C'est parce que cette action utilise match
, donc l'argument passé doit être un string ou une regexp, et si c'est un string ça doit contenir la regexp. C'est confus donc je vais sûrement améliorer ça, mais en attendant tu peux juste utiliser une regexp normale :
.addAfter(/use Illuminate\\Support\\ServiceProvider;/, [])
J'ai ici cette utilisation avec cette regex :
Preset.edit('app/Providers/AppServiceProvider.php')
.addAfter(/public function register\(\)(\s*){/m, [
''
])
pour détecter à la fois :
public function register()
{
et :
public function register(){
Le fichier n'est pas modifié. Est-ce que le match fonctionne sur du multi-line ?
En revanche, celle-ci fonctionne :
.addAfter(/use Illuminate\\Support\\ServiceProvider;/, [])
Non, match
fonctionne que sur une seule ligne, parce que le fichier est split
par retour à la ligne pour supporter addBefore
C'est pour ce cas de figure qu'il y a skipLines
, pour pouvoir ajouter du contenu dans le corps d'une méthode après l'avoir match
Non,
match
fonctionne que sur une seule ligne, parce que le fichier estsplit
par retour à la ligne pour supporteraddBefore
C'est pour ce cas de figure qu'il y a
skipLines
, pour pouvoir ajouter du contenu dans le corps d'une méthode après l'avoir match
Dommage mais ok!