diff --git a/Dockerfile.business b/Dockerfile.business index 3e6c47e..8e0e2b5 100644 --- a/Dockerfile.business +++ b/Dockerfile.business @@ -7,6 +7,7 @@ WORKDIR /app ENV HUSKY=0 ENV HUSKY_SKIP_INSTALL=1 ENV NODE_PATH=/app/node_modules +ENV NODE_ENV=development # Installation des dépendances système RUN apk add --no-cache git @@ -15,16 +16,17 @@ RUN apk add --no-cache git COPY package.json package-lock.json* ./ # Installation des dépendances Node -# Utilisation de --ignore-scripts pour éviter l'erreur husky RUN npm install --legacy-peer-deps --ignore-scripts -# Installation des dépendances nécessaires au build -RUN npm install gray-matter glob - # Copie du reste du projet COPY . . RUN chmod +x scripts/start-business.sh +# Préparer .techradar une fois pour toutes (évite les réinstallations au runtime) +RUN npx techradar install && \ + node -e "const fs=require('fs');const p='.techradar/package.json';const pkg=JSON.parse(fs.readFileSync(p,'utf8'));pkg.scripts=pkg.scripts||{};pkg.scripts.prepare='';fs.writeFileSync(p,JSON.stringify(pkg,null,2));" && \ + cd .techradar && npm install --legacy-peer-deps && npm run build:icons && cd .. + # --- CONFIGURATION BUSINESS --- # Application de la logique Business (remplacement de la config et des données) RUN cp radar-business/config-business.json config.json && \ diff --git a/scripts/start-business.sh b/scripts/start-business.sh index a186200..c66ccc9 100644 --- a/scripts/start-business.sh +++ b/scripts/start-business.sh @@ -4,46 +4,7 @@ set -e export HUSKY=0 export HUSKY_SKIP_INSTALL=1 export NODE_PATH=/app/node_modules -export NPM_CONFIG_IGNORE_SCRIPTS=1 - -# Forcer l'installation des devDependencies (gray-matter) même si NODE_ENV=production dans l'environnement -ORIGINAL_NODE_ENV="${NODE_ENV:-}" export NODE_ENV=development -# Initialiser/réinstaller localement .techradar -npx techradar install || true - -# Patch du package.json interne pour désactiver husky et forcer gray-matter -if [ -f .techradar/package.json ]; then - node <<'EOF' -const fs = require('fs'); -const pkgPath = '.techradar/package.json'; -const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8')); -pkg.scripts = pkg.scripts || {}; -pkg.scripts.prepare = ''; -pkg.devDependencies = pkg.devDependencies || {}; -if (!pkg.devDependencies['gray-matter']) { - pkg.devDependencies['gray-matter'] = '^4.0.3'; -} -fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2)); -EOF - - cd .techradar - npm install --legacy-peer-deps - npm install gray-matter - NPM_CONFIG_IGNORE_SCRIPTS=0 npm run build:icons - cd .. -fi - -# Restaurer la valeur initiale de NODE_ENV pour le run -if [ -n "$ORIGINAL_NODE_ENV" ]; then - export NODE_ENV="$ORIGINAL_NODE_ENV" -else - unset NODE_ENV -fi - -unset NPM_CONFIG_IGNORE_SCRIPTS - -# Lancer le serveur npm run serve -- --port "${PORT:-3000}"