Hugo Duprat - 22 novembre 2022
Tech Lead chez
@req__ (avec deux _)
Hugo Duprat
coming soon...
hduprat
hugod@bam.tech
import { displaySignUpModal } from 'src/modules/AnonymousUser/view.ts';
import { useUserStatus } from 'src/modules/User/business.ts';
import { redirectToDashboard } from 'src/modules/User/navigation.ts';
export const DashboardButton = () => {
const { isAnonymous } = useUserStatus();
return (
<Button onPress={ isAnonymous ? displaySignUpModal : redirectToDashboard } />
)
}Mais que devient ce code inutilisé ?
import { displaySignUpModal } from 'src/modules/AnonymousUser/view.ts';
import { useUserStatus } from 'src/modules/User/business.ts';
import { redirectToDashboard } from 'src/modules/User/navigation.ts';
export const DashboardButton = () => {
const { isAnonymous } = useUserStatus();
return (
<Button onPress={ isAnonymous ? displaySignUpModal : redirectToDashboard } />
)
}Source de gaspillage
Les exports inutilisés ne sont pas détectés par Typescript ou ESLint a priori
Permet de lister les exports inutilisés dans le code
Peut renvoyer ou non une erreur en cas de code mort
Possibilité d'ignorer des fichiers dans la recherche de code mort
yarn ts-prune -e#!/bin/sh
OUTPUT=`yarn --silent ts-prune | wc -l`;
MAX_DEAD_CODE_LINES="20";
echo "$OUTPUT lines remaining, maximum set to $MAX_DEAD_CODE_LINES"
if [ "$OUTPUT" -gt "$MAX_DEAD_CODE_LINES" ];
then
echo "Error, you added dead code, please remove some."
exit 1
fiMise en place de ts-prune pour l'indicateur
Réaction ! Mise en place du script de CI avec seuil
Vacances de fin d'année
Reprise
yarn ts-prune -ets-prune
Le code mort testé unitairement ?
ts-prune -s '.*\.test\.tsx?'OK mais mes mocks deviennent du code mort !
ts-prune -s '.*\.test\.tsx?' -i '.*/mocks\.tsx?'Les pages inutilisées dans la navigation ?
Des questions ?
@req__ (avec deux _)
Hugo Duprat
coming soon...
hduprat
hugod@bam.tech