# Outils de l'application web (ADR 0009) : TypeScript, Biome, Cucumber et # dependency-cruiser, sous Node. Rien de tout cela n'est embarqué dans # l'application : ces outils compilent, vérifient et testent. # # Les modules sont installés dans /opt/tools, puis rendus visibles sous # /node_modules, à la racine du conteneur : Node et TypeScript les trouvent en # remontant depuis le dépôt monté sous /src, sans node_modules dans le dépôt. # (npm refuse d'installer directement à la racine.) # # Versions figées, publiées depuis plus de deux semaines au 2026-11-02. # Cucumber reste en 12.x : la 13 charge des modules ES avec require(), ce que # Node 22.11 ne fait pas sans option (il faut Node 22.12). FROM node:22.11.0-alpine3.20 WORKDIR /opt/tools RUN npm install --no-audit --no-fund --save-exact \ typescript@6.0.3 \ @types/node@22.20.5 \ @biomejs/biome@2.5.15 \ @cucumber/cucumber@12.9.0 \ dependency-cruiser@18.6.0 \ && npm cache clean --force \ && ln -s /opt/tools/node_modules /node_modules ENV PATH="/opt/tools/node_modules/.bin:${PATH}"